类名.class

类名.class是class对象的句柄,每个被加载的类,在jvm中都会有一个class对象与之对应。如果要创建新的对象,直接使用class对象的局部class.forName即可,不需要new 类名。用class对象表示类的类型信息。

class对象:

java生成class对象和生成实例(instance)对象不同,要先生成class对象,再生成instance对象。

class对象生成方式:

1.class.forName(“类名字符串”)(就是包名+类名);——class的静态方法,用类的名字获取class实例,必须将string类型强转才可以获取Class<T>,需抛出ClassNotFoundException异常,该方法可以初始化静态域。

2.类名.class;对基本类型的封装类,还可以采用.TYPE获取对应的基本数据类型的class实例,通过这种方式获取的是类的字面常量。该方法不会初始化静态域。

3.实例对象.getClass();三种生成class对象的方法效果一样。

静态方法属性初始化,是在加载类时初始化的;非静态方法属性初始化,是new类实例对象时加载的。编写一个新的java类时,jvm会编译成class对象,存放在内存中的同名class文件中,。在运行时,当需要生成这个类的对象,jvm会先检查内存中是否已装载,若未装载,则把.class文件装入内存中,根据class文件生成实例对象。

newInstrance()调用内中缺省的构造方法,若实例对象中有自定义构造方法(除重写和默认构造方法外)创建此class对象所表示的一个新实例。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值