1、如果想编写高效,功能强大的java程序,必须使用反射技术。
反射技术应用:编写框架,通用性很强的程序。一般平时不怎么用。
反射API:
Class
获得Class对象的三种方法:
1、已知类-----类名.class获得
2、已知对象-----对象.getClass获得
3、完整类名String格式------Class.forName(完整类名)
第三种最常用。
反射技术应用:编写框架,通用性很强的程序。一般平时不怎么用。
反射API:
Class
获得Class对象的三种方法:
1、已知类-----类名.class获得
2、已知对象-----对象.getClass获得
3、完整类名String格式------Class.forName(完整类名)
第三种最常用。
通过类字节码对象获得构造器、成员变量、方法------都各有两个方法
1、获得所有 getConstructors()
2、获得指定 getConstructor(Class<?>...parameterType)----参数是构造方法的字节码对象
Constructor-----通过constructor创建字节码对应的类对象
Filed------c.getDeclaredField(成员变量名)//获得指定名称的成员变量
如果成员变量是private,你想调用的话,先设置一下,该属性可访问:f.setAccessible(true);
Method
1、获得所有 getConstructors()
2、获得指定 getConstructor(Class<?>...parameterType)----参数是构造方法的字节码对象
Constructor-----通过constructor创建字节码对应的类对象
Filed------c.getDeclaredField(成员变量名)//获得指定名称的成员变量
如果成员变量是private,你想调用的话,先设置一下,该属性可访问:f.setAccessible(true);
Method