Java反射之类的实例对象的三种表示方式总结
如下所示:
<spanstyle="font-size:14px;">packagecom.imooc.reflect;
publicclassClassDemo1{
publicstaticvoidmain(String[]args){
//Foo的实例对象如何表示
Foofoo1=newFoo();//foo1就表示出来了
//Foo这个类,也是一个实例对象,Class类的实例对象,如何表示呢、
//任何一个类都是Class的实例对象,这个实例对象那个有三个表示方式
//第一种表示方式--》实际在告诉我们任何一个类都有一个隐含的静态成员变量class
Classclass1=Foo.class;
//第二种表示方式已经知道该类的对象通过getClass方法
Classclass2=foo1.getClass();
/*
*官网class1,class2表示了Foo类的类类型(classtype)
*万事万物都是对象
*类也是对象,是Class类的实例对象
*这个对象我们称为该类的类类型
*/
//不管class1orclass2都代表了Foo类的类类型,一个类只可能是Class;类的一个实例对象
System.out.println(class1==class2);//true'
//第三种表达方式
Classclass3=null;
try{
class3=Class.forName("com.imooc.reflect.Foo");
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}
//
System.out.println(class2==class3);//true
//我们完全尅通过类的类类型创建该类的对象实例--》通过class1orclass2orclass3
//创建Foo类的实例对象
try{
//需要有无参数的构造方法
Foofoo=(Foo)class1.newInstance();//需要强转
foo.print();
}catch(Exceptione){
e.printStackTrace();
}
}
}
//
classFoo{
publicvoidprint(){
System.out.println("foo");
}
}
</span>
以上就是小编为大家带来的Java反射之类的实例对象的三种表示方式总结的全部内容了,希望对大家有所帮助,多多支持毛票票~