Java 反射

1、创建方式

1.1、getClass

Perrson person = new Student();
Class c1 = person.getClass();

1.2、forName

Class c2 = Class.forName("全类名");

1.3、.class

Class c3 = Student.class;
Object.class;//类
Comparable.class;//接口
String[].class;//一维数组
int [][].class;//二维数组
Override.class;//注解
ElementType.class;//枚举
Integer.class;//基本数据类型包装类
void.class;//void,空类型   

1.4、Type

​ 基本数据类型的包装类都有一个 Type 属性

Class c4 = Integer.TYPE;

2、方法

Class
getName()包名 + 类名
getSimpleName()类名
getFields()获得类的所有 public 属性
getDeclaredFields()获取类的所有属性
getDeclaredField(String name)获得指定属性的值
getMethods()获得本类以及父类的所有 public 方法
getDeclaredMethods()获取本类的所有方法
getMethod(String name,方法参数)获取指定 public 方法
getDeclaredConstructors()获得全部构造方法
getDeclaredConstructor(参数类型,…,…)获取指定构造方法
newInstance()创建一个对象,本质上调用了类的无参构造器
getAnnotations()获取类的所有注解
getAnnotation(注解类对象)获取类的指定注解
Constructor
newInstance(方法参数)创建对象
Method
invoke(对象名,方法参数)执行该方法
Field
set(对象名,值)赋值(不能直接操作私有属性 setAccessible(true))
getAnnotation(注解类对象)获得指定属性的注解
Annotation
value()获取注解 value 的值
.属性()获取注解指定属性的值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值