创建Class类的实例对象的三种方法

Fool fool =new Fool();

Class 类里面提供的构造方法是private的,且
只有java虚拟机能创建Class的实例对象,
所以不能直接创建他的对象。
任何类都是Class类的实例对象,这个实例对象有3种表示方法:

方法一:
Class c1=Fool.class;//任何一个类都有一个隐含的静态成员变量class
方法二:
Class c2=fool.getClass();//已知该类的对象通过getClass方法

c1、c2表示Fool类的类类型
类也是对象,是Class类的实例对象
这个对象我们称为该类的类类型
System.out.print(c1==c2);结果为true,即表示他们是同一个实例对象。
解释:不管c1与c2都代表了Foo类的类类型,一个类只可能是Class类的一个实例对象

方法三:
Class c3=null;
try{
    c3=Class.forname("com.imooc.reflect.Foo");
}catch(ClassNotFoundException e){
    e.printStackTrace();
}

总结:我们完全可以通过类的类类型创建类的对象实例—>通过c1或者c2或者c3创建Foo的实例

try{
    Foo foo=(Foo)c1.newInstance();
}catch(InstantiationException  e)
{
    e.printStackTrace();
}catch(IllegalAccessException e){
    e.printStackTrace();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

希境

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值