Java反射的三种实现方式

Foo foo = new Foo();

第一种:经过Object类的getClass方法java

Class cla = foo.getClass();

第二种:经过对象实例方法获取对象函数

Class cla = foo.class;

第三种:经过Class.forName方式对象

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

 

对于有空构造函数的类 能够直接用字节码文件获取实例:blog

Object o = clazz.newInstance();  // 会调用空参构造器 若是没有则会报错

对于没有空的构造函数的类则须要先获取到他的构造对象 在经过该构造方法类获取实例:get

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

Object obj = constroctor.newInstance("jack", 18); // 经过构造器对象的newInstance方法进行对象的初始化
相关文章
相关标签/搜索