获取Class实例的4种方式

1.类名.class
2.对象.getClass()
3.Class.forName(全类名)
4.类加载器

public class Demo {
    public static void main(String[] args) throws ClassNotFoundException {
        //1.类名.class
        Class  clazz1 = Demo.class;
        //2.对象.getClass()
        Class  clazz2 = new Demo().getClass();
        //3.Class.forName(全类名)
        Class  clazz3 = Class.forName("equal.Demo");
        //类加载器
        ClassLoader classLoader = Demo.class.getClassLoader();
        Class  clazz4 = classLoader.loadClass("equal.Demo");
    }
}

java.lang.Class
程序经过javac.exe命令之后,会生成一个或多个字节码文件(.class),接着使用java.exe命令对某个字节码文件进行解释运行,相当于将某个字节码文件加载到内存中(类的加载),加载到内存中的类,就称为运行时类,此运行时类,就作为Class的一个实例。

类缓存
标准的JavaSE类加载器可以要求查找类,但一旦某个类被加载到类加载器中,它将维持加载(缓存)一段时间,不过JVM垃圾回收机制可以回收这些Class对象。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值