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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 拾起落叶 中级黑马   /  2015-7-15 16:39  /  283 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1、概述
        如果指定的类中没有空参数的构造函数,或者要创建的类对象需要通过指定的构造函数进行初始化。这时怎么办呢?这时就不能使用Class类中的newInstance方法了。既然要通过指定的构造函数进行对象的初始化。就必须先获取这个构造函数——Constructor。Constructor代表某个类的构造方法。
2、获取构造方法:
       1)得到这个类的所有构造方法:如得到上面示例中Person类的所有构造方法
             Constructor[] cons = Class.forName(“cn.itheima.Person”).getConstructors();
       2)获取某一个构造方法:
             Constructor con=Person.class.getConstructor(String.class,int.class);
3、创建实例对象:
        1)通常方式:Person p = new Person(“lisi”,30);
        2)反射方式:Person p=(Person)con.newInstance(“lisi”,30);
注:
        1、创建实例时newInstance方法中的参数列表必须与获取Constructor的方法getConstructor方法中的参数列表一致。
        2、newInstance():构造出一个实例对象,每调用一次就构造一个对象。
        3、利用Constructor类来创建类实例的好处是可以指定构造函数,而Class类只能利用无参构造函数创建类实例对象。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马