什么事反射?
反射是JAVA的一种机制,在程序运行过程中,对于任意的一个类,就可以获取这个类的所有属性和方法,这种动态获取类的信息以及动态调用对象方法的功能就是JAVA发射机制。
获得class对象的三种方式
以Admin为目标类
Admin admin = new AdmIn();
1..admin.class
2.admin.getClass();
3.class.forName("Admin类的地址");
使用构造器创建对象
Constructor c = class.getConstructor();
Object o = c.newInstance();
o即为新创建的对象
反射的案例--java对象转json格式
反射的优缺点
优点
增加了代码的灵活度
可以在运行中动态对类进行修改和操作
提高了代码的复用率
可以在程序运行时获取类的全部信息并动态调用
缺点
设计动态类型解析,性能相对更低
不安全,可以直接绕过了对象的权限操作
打破了代码的封装性