反射

Java反射机制详解
本文深入解析Java反射机制,包括反射的概念、获取类对象的方式、如何通过反射实例化对象、读写属性、调用方法及构造函数。同时,文章详细介绍了获取类名、属性和方法的具体操作,以及执行方法的关键字invoke。

一.什么是反射?

1.反射是一种机制,利用反射机制动态的实例化对象、读写属性、调用方法、构造函数。

二.获取类对象的方式

1.如何得到类对象
一切反射相关的代码都从获得类对象开始。

  1. 三种获取方式:
  2. 类名.class;
  3. 对象名.getClass();
    3 .Class.forName(全限定名/全路径名);

注:ClassNotFoundException(类不存在 || 缺少Jar包)
同一个类,类对象只能被加载一次

3.根据类得到类名(全限定名/全路径名)
1)cName.getName(); 获取全限定名
2)cName.getSimpleName(); 获取类名
3)cName.getPackage(); 获取包名

三.获取属性,方法

1.根据类得到类的属性
1.1获取值
Field field=cla.getField(“属性名”);
field.getName(); 获取属性名
filed.getType(); 获取属性类型
field.getModifiers(); 获取属性访问修饰符

1.2赋值
field.set(Object,Object); 设置属性值,参数1:要设置属性所在对象;参数2:要设置的值;
field.get(Object); 获取属性值,参数:要获取属性值的对象
field.getDeclaredField(“属性名”); 获取单个属性
field.getDeclaredFields(); 获取所有属性

2.根据类得到类的方法

cla.getMethod(); 获取单个公有方法
cla.getDeclaredMethod(); 获取单个方法
cla.getMethods(); 获取所有公有方法
cla.getDeclaredMethods(); 获取所有的方法

注:1)通过getDeclaredMethod调用方法时,请设置方法的访问权限 setAccessible(true)
2)执行方法关键字:invoke

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值