反射的作用
java反射,可以对任何一个类,都可以通过反射来获得这个类的所有属性和方法,
首先创建一个测试类
代码如下:
我们可以通过getDeclaredMethods和getDeclaredFields直接得到这个类的所有方法名称和成员变量名称
可以通过反射创建这个类的实例
我们也可以通过反射来调用私有的方法 在Test添加一个私有方法 run
可以看到正确的输出了其中方法的作用
getMethods():获取一个类的公共方法,包含从父类继承而来的
getDeclaredMethods():获取一个类的全部方法名(包含私有,但不包含父类)
getFields():获取一个类的公共成员变量名,包含从父类继承而来的
getDeclaredFields(): 获取一个类的全部成员变量名(包含私有,但不包含父类)
getConstructors():获取一个类的公共构造函数,包含从父类继承而来的
getDeclaredConstructors():获取一个类的全部构造函数(包含私有,但不包含父类)
setAccessible(boolean b):取消或者设置访问权限检查
newInstance():创建一个实例
getDeclaredAnnotations():获取一个类的注解
getPackage():获取包所在位置
getClassLoader():获取类加载器
...
网友评论