Java 反射

1、什么是反射

Java反射就是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;并且能改变它的属性。

2、反射能做什么

我们知道反射机制允许程序在运行时取得任何一个已知名称的class的内部信息,包括包括其modifiers(修饰符),fields(属性),methods(方法)等,并可于运行时改变fields内容或调用methods。那么我们便可以更灵活的编写代码,代码可以在运行时装配,无需在组件之间进行源代码链接,降低代码的耦合度;还有动态代理的实现等等;但是需要注意的是反射使用不当会造成很高的资源消耗!

3、反射的使用

实例化对象,调取实例中的方法。

Class<?> aClass = Class.forName("com.bihe.mySeat.modules.seatmap.model.entity.Floor"); // 实体类
Constructor constructor = aClass.getDeclaredConstructor(String.class); // 有参构造 ,实体类中必须要有构造器,不然会报错
Floor o1 = (Floor) constructor.newInstance("timi");
Constructor constructor1 = aClass.getDeclaredConstructor(); // 无参构造,实体类中必须要有构造器,不然会报错
Floor o = (Floor) constructor1.newInstance();
Method getInfo = aClass.getDeclaredMethod("getInfo"); // 调用方法
getInfo.setAccessible(true);// 禁用安全检查的开关。
Object invoke = getInfo.invoke(o);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值