Java反射
-
框架:半成品程序。在框架的基础上进行软件开发,简化编码。
-
反射:将类的各个组成部分封装为其他的对象。
- 优点:
- 可以在程序运行过程中,操作这些对象。
- 可以解耦,提高程序的可扩展性。
- 优点:
-
Class对象功能:
- 获取功能:
- 获取成员变量:
- Field[] getFields():获取多有public修饰的成员变量
- Field getField(String name):获取指定名称的public修饰的成员变量
- Field[] getDeclaredFields():获取所有的成员变量
- Field.setAccessible(true):忽略访问权限修饰符安全检查(暴力反射)
- 获取构造方法:
- Constructor getConstructor(类<?>… parameterTypes):获取指定参数的构造方法
- 获取成员方法:
- Method[] getMethods():获取所有方法(包括继承的类中的方法)
- Method[] getMethod(方法名,参数):获取指定参数的方法
- 获取成员变量:
- 获取功能:
-
Field:成员变量
- 操作:
- 设置值
- void set(object obj, object value)
- 获取值
- get(object obj)
- 设置值
- 操作:
-
Constructor:构造方法
- 操作:
- 实例化类
- newInstance()
- 当使用空参构造方法创建对象实例时可以直接使用Class的newInstance()方法
- 实例化类
- 操作:
-
Method:成员方法
- 操作
- 执行方法
- invoke(object obj, object… args)
- 获取方法名称
- String getName()
- 执行方法
- 操作