Java反射的三种实现方式

  • 格式:pdf
  • 大小:31.22 KB
  • 文档页数:1

Java反射的三种实现⽅式

Foo foo = new Foo();

第⼀种:通过Object类的getClass⽅法

Class cla = foo.getClass();

第⼆种:通过对象实例⽅法获取对象

Class cla = foo.class;

第三种:通过Class.forName⽅式

Class cla = Class.forName("xx.xx.Foo");

对于有空构造函数的类 可以直接⽤字节码⽂件获取实例:

Object o = clazz.newInstance(); // 会调⽤空参构造器 如果没有则会报错

对于没有空的构造函数的类则需要先获取到他的构造对象 在通过该构造⽅法类获取实例:

Constroctor constroctor = clazz.getConstructor(String.class,int.class); // 获取构造函数

Object obj = constroctor.newInstance("jack", 18); // 通过构造器对象的newInstance⽅法进⾏对象的初始化