java加载类对象类的四种方法

第一种方法(通过类名加载类 ):
在这里插入图片描述

//这里需要做异常处理,或的加载类的类对象类。
Class<?> forName = Class.forName("com.xb.test.Student");
//通过类对象类的方法实例化一个对象
Object newInstance = forName.newInstance();
//判断该类实例化的对象是否为加载的类
if (newInstance instanceof Student ) {
	System.out.println("这是有个学生对象");
}

控制台输出:
在这里插入图片描述
第二种方法(通过类名直接加载 ):

//测试方法同上   这种方法是延时加载
Class stu =Student.class;

第三种方法(通过类对象加载):

Student stu1=new Student();
Class class1 = stu1.getClass();

第四种方法(通过类加载器加载):

//获取类加载器
ClassLoader cl=ClassLoader.getSystemClassLoader();
//通过类加载器加载类对象类   延迟加载
Class<?> loadClass = cl.loadClass("com.xb.test.Student");

加载类的过程:
加载器:①类加载器、②Ext扩展加载器、③引导加载器
加载过程:(有向上委托和向下通知的过程)
当一个类需要被加载的时候类加载器不会马上加载这个类而是会想扩展加载器委托,
扩展加载器受到委托后也不会去加载这个类,而是会委托给引导加载器,
引导加载器会到java的rt.jar中寻找是否存在该类不存在向下通知,扩展加载器也会在Ext文件下找是否存在该类,不存在向下通知
最后类加载器会进行加载(可以防止java核心API被篡改)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值