Java中,任何一个类都是Class的实例对象,这个实例对象有三种表示方式。
若有一个Foo类:
class Foo{}Foo的实例对象这样表示:
Foo foo1 = new Foo();那么Class的实例对象可表示为:
方式一
Class c1 = Foo.class;这种方式告诉我们,每一个类都有一个隐藏的静态成员变量class。
方式二
已知对象的一个实例,通过getClass方法得到Class的实例对象
Class c2 = foo1.getClass();方式三
Class c3 = null;
try{
c3 = Class.forName("com.reflect.Foo");
}catch(ClassNotFoundException e){
e.printStackTrace();
}我们可以通过类的类类型创建该类的对象实例,即通过c1或c2或c3创建Foo的实力对象。
Foo foo = (Foo)c1.newInstance();
本文介绍了Java反射机制中Class对象的三种获取方式,并演示了如何利用Class对象实例化具体类的实例。
1636

被折叠的 条评论
为什么被折叠?



