1
|
Foo foo =
new
Foo();
|
第一种:通过Object类的getClass方法
1
|
Class cla = foo.getClass();
|
第二种:通过对象实例方法获取对象
1
|
Class cla = foo.
class
;
|
第三种:通过Class.forName方式
1
|
Class cla = Class.forName(
"xx.xx.Foo"
);
|
对于有空构造函数的类 可以直接用字节码文件获取实例:
1
|
Object o = clazz.newInstance();
// 会调用空参构造器 如果没有则会报错
|
对于没有空的构造函数的类则需要先获取到他的构造对象 在通过该构造方法类获取实例:
1
2
3
|
Constroctor constroctor = clazz.getConstructor(String.
class
,
int
.
class
);
// 获取构造函数
Object obj = constroctor.newInstance(
"jack"
,
18
);
// 通过构造器对象的newInstance方法进行对象的初始化
|