Reflection(反射)(类加载)

本文深入解析Java反射机制,包括类的加载方式、获取所有父类的方法、基础与包装类的区别,以及类加载器的委托机制。了解如何动态获取类信息和调用方法,掌握Java动态特性的核心。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Reflection(反射)

反射:在java中一个类在运行过程中,对于这个类的属性任意调用,对于这个类的对象可以任意调用任意调用方法,这种动态获取属性信息,和动态调用方法的行为被称为反射机制

1.四种类加载方式

延时加载(只有在被new对象时才会被加载)

	Class c = 实体对象.class;
	c.newInstance();
	实体对象 et = new 实体对象();
	Class c = et.getclass();

及时加载(会立刻打印静态块)

	Class c = Class.forName("对象路径");

通过类加载器(系统加载器)获取(也属于延时加载)

	ClassLoader loader = ClassLoader.getSystemClassLoader();
	Class c = loader.loadClass("对象路径");
2.获取一个类的所有父类
	Class c = 类.class;
	while(c!=null){
			c = c.getSuperclass();
	}
3.基础与包装类
包装类
	Class c1 = Integer.class;
	c1.getName==java.lang,.Integer
	
基础类	
	Class c1 = int.class;
	c1.getName==int
	
在jdk1.5版本之后
	Class c3 = Integer.TYPE;
	c3==int

知识点总结

加载机制分为1.向上委托 2.向下通知
1.向上委托:系统加载器不会马上加载,会向上委托,给扩展加载器与不会马上加载,会向上委托给引导加载器
1.向下通知:如果扩展加载器中有这个类型会直接加载,若没有通知ExtclassLoader加载,若ExtclassLoader
没有则会通知AppclassLoader加载,若AppclassLoader也没有则会报错

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值