获取类类型的方式

第一种:通过  类名.Class  方式
Class<?> class1=Student.class;
通过类名.Class的方式就可以创建了一个Class类的对象。这种方式还透露了一个信息:任何一个类中隐藏了一个静态的成员变量class。

第二种:通过该类的实例对象的getClass()方法获取Class类的实例对象
    1.创建Student类的对象student
    2.Student student=new Student();
    3.利用该类对象的getClass方法获取Class类的实例
    4 .Class<?> class2=student.getClass();
    Q:getClass()这个方法又是从哪个地方冒出来的呢?
    A:如果一个类没有明确指明继承哪个类,就会默认继承Object。在Object类中有个:public final native Class<?> getClass();方法。
   说明:
   1、student代表的是Student类的实例对象,class1与class2都代表的是Class类的实例对象。
   官方对class1、class2的解释:
   class1和class2都表示了Student类的类类型(class type)。
   Student类的对象是student。
   Student类的Class对象是:class1,class2。(Student类的类类型)

第三种方式创建Student类的类类型:通过forName(“全限定类名”)
 1         Class class3=null;
 2         try {
 3             class3=Class.forName("com.xxj.Student");//加类的全称    
 4         } catch (ClassNotFoundException e) {
 5             e.printStackTrace();
 6         }
 com.xxj.Student表示完整的类的全名包名.类名
 因为这里需要输入类的名称,但是防止输入的错误,所以这里面有ClassNotFoundException异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值