老生常谈反射之Class类的使用(必看篇)
任何一个类都是Class类的实例对象,这个实例对象有三种表示方式
第一种表示方式(任何一个类都有一个隐含的静态成员变量class):
Classc1=Foo.class;
第二种表示方式(已知该类对象,通过getClass方法):
Foofoo1=newFoo();2Classc2=foo1.getClass();
※c1、c2表示了Foo类的类类型(classtype)
第三种表示方式
Classc3=null;
try{
c3=Class.forName("com.format.test.Foo");
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}
※通过类的类型创建该类的对象实例
try{
Foofoo2=(Foo)c1.newInstance();//需要有无参构造
}catch(InstantiationExceptione){
e.printStackTrace();
}catch(IllegalAccessExceptione){
e.printStackTrace();
}
以上这篇老生常谈反射之Class类的使用(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。