为什么会对反射有疑问:
使用了private修饰以后只有两种情况可以使用:
1.在本类中可以访问
2.利用反射可以访问
提出疑问:反射是什么?
反射:将类的各个组成部分(成员变量、构造方法、成员方法)封装为其他对象,称为反射机制。
好处:
1.可以在程序运行过程中,操作对象。
2.可以降低耦合性,提高程序可扩展性。
那么,怎么通过反射访问private(私有)的属性和方法呢?
getDeclaredMethod()返回的Method对象可以是非public的。
在使用前要通过AccessibleObject类(Constructor、 Field和Method类的基类)中的setAccessible()方法来抑制Java访问权限的检查。