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();