A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小小太阳 中级黑马   /  2013-5-27 12:48  /  1952 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

获取一个自定义类中的一个带参数的构造方法怎么写?
比如Person类中的Person(String name,int age){

}

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

5 个回复

倒序浏览
package heimeTest;

public class Demo{
        public static void main(String[] args) throws Exception{
                Person p = (Person)Person.class.getConstructor(String.class,/*int.class*/Integer.TYPE).newInstance(new String("zhangsan"),13);
                System.out.println(p);
        }
}
class Person{
        private String name;
        private int age;
        public Person(String name, int age){
                this.name = name;
                this.age = age;
        }
        public String toString(){
                return name + ":" +age;
        }
}

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
Constructor constructor = Person.class.getConstructor(String.class,/*int.class*/Integer.TYPE) 这一句就是获得其构造方法的
回复 使用道具 举报
楼上妹纸学的好啊。让我茅塞顿开。
  1.    //获Person类的构造方法。
  2.          Constructor constructor3 = Person.class.getConstructor(String.class,Integer.TYPE);
  3.          //创建Person类。
  4.          Person p1 = (Person)constructor3.newInstance(new String("cdj"),22);
  5.           System.out.println(p1);
复制代码

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
//获取Person类的字节码文件,此处为了去掉感叹号,加入了通配符
                Class<?> clazz = Person.class;
                //获取字节码文件中的指定参数的构造函数,此处为了去掉感叹号,加入了通配符
                Constructor<?> constructor = clazz.getConstructor();

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
lpflpy 发表于 2013-5-27 13:08
package heimeTest;

public class Demo{

那个构造函数是不是必须用public修饰?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马