什么是反射?【Java反射有多强?它拥有这五大神奇功能】在JAVA中,对于任意一个运行中的对象,可以调用该对象的任意属性和方法;已知一个类,可以获取这个类的所有属性和方法,这就是反射机制 。
一般情况下,根据面向对象封装原则,Java实体类的属性都是私有的,我们不能获取类中的属性 。但我们可以根据反射,获取私有变量、方法、构造器,甚至是注解 。
文章插图
如何使用?在最近的项目开发中,有一个需求:将人员档案的80+个字段,设置部分为隐私字段,比如有权限可以看,权限需要动态分配 。
我们不可能写80个if - else,那么我就使用了Java反射,获取人员档案类的所有字段,并且将设置隐私字段的值全部set为“无权限访问”
首先一点,我们根据类或者对象,就可以获取class对象
User user = new User();// 方式一 类获取Class userClass = User.class;// 方式二 对象获取Class userClass2 = user.getClass();// 方式三 静态获取Class userClass3 = forName("zwz.pojo.User");
这个class对象是什么呢?Java反射的所有内容,都是围绕这个class对象展开
类
推荐阅读
- Java如何防止接口重复提交
- 运动装|泰国的化妆技术有多强大?黑妹变白雪公主,网友:这是砌墙呢?
- 当下,什么路由器值得买?WiFi6比WiFi5有多少提升?
- 鸡胸肉|吉娜的眼妆有多浓?卸妆后样貌“平平无奇”,网友:也就普通人
- 距离2021年中秋节还有多少天 2021的中秋节
- Java堆和栈的区别和介绍以及JVM的堆和栈
- 蚊子能活多长时间 蚊子寿命最长有多少天
- JavaScript 中如何判断变量是否为数字
- Node/JavaScript中的模板引擎
- java安全编码指南之:Thread API调用规则