Java反射机制


概念


Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。


作用


在运行时判断任意一个对象所属的类;在运行时获取类的对象;在运行时访问java对象的属性,方法,构造方法等。


功能实现


获取类


1. Class.forName(“com.java.reflection. Employee”);

通过全类名获取,用的比较多,但可能抛出ClassNotFoundException异常  

2. Employee e=new Employee ; e.getClass()

通过对象的getClass()方法获取,这个使用的少(一般是传的是Object,不知道是什么类型的时候才用)

3. Employee.class;

直接通过类名.Class的方式得到  


获取类的 Fields

Class e = Class.forName(“com.java.reflection.Employee”);

Field[] fields = e.getFields();

for(Field f : fields) { 

System.out.println(f);

  

// 使用 getDeclaredFields 获取属性

fields = classType.getDeclaredFields();

for(Field f : fields){

System.out.println(f);

}


获取方法,构造方法,父类和父接口


获取方法


getDeclaredMethods()


getReturnType()


getParameterTypes()


getDeclaredMethod("方法名",参数类型.class,)


 


获取构造方法


getDeclaredConstructors()


getDeclaredConstructor(参数类型.class,……)


 


父类和父接口


getSuperclass()


getInterfaces()


 


创建对象


Class c = Class.forName(“com.java.reflection.Employee”);


Object obj = null;


obj = c.newInstance();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值