我爱编程

反射

2018-04-03  本文已影响66人  battle_

java反射机制就是在运行状态中,对于任何一个类都能知道该类的属性方法等信息。如spring中就运用了大量的反射机制实现IOC等功能。
优点:灵活性高,动态创建类
缺点:效率比正常执行低
Class.forName(xxx) 获取class实例的一种方式
reflect 反射相关包

反射API用来生成在当前JAVA虚拟机中的类、接口或者对象的信息。
Class类:反射的核心类,可以获取类的属性,方法等内容信息。
Field类:Java.lang.reflect.表示类的属性,可以获取和设置类的中属性值。
Method类:Java.lang.reflect。表示类的方法,它可以用来获取类中方法的信息或者执行方法

Class cla = Class.forName("test.FanXing");
/*FanXing test = (FanXing) cla.newInstance();
test.test();*/
//Constructor cons = cla.getDeclaredConstructor();
//如果知道具体类型直接强制转换后就可使用方法,但大部分时候是不知道的,
//所以可以通过getMethod相关方法获取方法对象,然后通过invoke执行方法Object test = cla.newInstance();
Method method = cla.getMethod("test");
method.invoke(test);

Construcor类:Java.lang.reflect。表示类的构造方法。

上一篇下一篇

猜你喜欢

热点阅读