前言
叙述
是什么
是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制
相关的类
Java中的Class三种获取方式
- 利用对象调用getClass()方法获取该对象的Class实例;
- 使用Class类的静态方法forName(),用类的名字获取一个Class实例 ;
- 运用.class的方式来获取Class实例,对于基本数据类型的封装类,还可以采用.TYPE来获取相对应的基本数据类型的Class实例;
注意
以通过反射获得Method对象为例,一般会提供四种方法:
- getMethod(parameterTypes)
- getMethods()
- getDeclaredMethod(parameterTypes)
- getDeclaredMethods()
getMethod(parameterTypes)用来获取某个公有的方法的对象
getMethods()获得该类所有公有的方法
getDeclaredMethod(parameterTypes)获得该类某个方法
getDeclaredMethods()获得该类所有方法。
带有Declared修饰的方法可以反射到私有的方法,没有Declared修饰的只能用来反射公有的方法。
其他的Annotation、Field、Constructor也是如此。
黑色背景 |
小结
感谢您的阅读~~