总结放前面:
反射是可以通过一个类对象或类名称获取到该类的全部信息(属性和方法),包括为权限为private。

要使用反射第一步,要获取的类的Class对象,该Class对象存放在堆区,于类加载时创建,全局只有一对象,使用单例模式创建。

然后根据需求:
需要使用构造器——》


需要使用该类的成员变量——》

需要使用该类的成员方法——》

注意invoke需要传入一个类型明确的对象——》

如何理解破坏封装性?
所谓封装指方法或变量使用private修饰,外部类无法访问,而通过反射的getDeclaredxxx看可以获取到private的方法或变量,然后通过xxx.setAccessible(true);改变权限,使得可以访问和修改变量或方法。
















![[集群聊天服务器]----(五)User类、UserModel类](https://img-blog.csdnimg.cn/direct/b82a6abb81044839abcac518a95d7c1a.png)


