黑马程序员技术交流社区

标题: 利用自字节码对象创建无参构造函数类和有参构造函数类对象的 [打印本页]

作者: 达达123    时间: 2016-10-31 23:13
标题: 利用自字节码对象创建无参构造函数类和有参构造函数类对象的

// 如何生成获取到字节码文件对象的实例对象。
  Class clazz = Class.forName("cn.itcast.bean.Person");//类加载
// 直接获得指定的类型
  clazz = Person.class;
  // 根据对象获得类型
  Object obj = new Person("zhangsan", 19);
  clazz = obj.getClass();
  Object obj = clazz.newInstance();//该实例化对象的方法调用就是指定类中的空参数构造函数,给创建对象进行初始化。当指定类中没有空参数构造函数时,该如何创建该类对象呢?请看method_2();
public static void method_2() throws Exception {
  Class clazz = Class.forName("cn.itcast.bean.Person");
  //既然类中没有空参数的构造函数,那么只有获取指定参数的构造函数,用该函数来进行实例化。
  //获取一个带参数的构造器。
  Constructor constructor = clazz.getConstructor(String.class,int.class);
  //想要对对象进行初始化,使用构造器的方法newInstance();
  Object obj = constructor.newInstance("zhagnsan",30);
  //获取所有构造器。
  Constructor[] constructors = clazz.getConstructors();//只包含公共的
  constructors = clazz.getDeclaredConstructors();//包含私有的
  for(Constructor con : constructors) {
   System.out.println(con);
  }
}
作者: liyudong    时间: 2016-11-1 01:13
希望你能体会的时候说一声





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2