1.什么是反射
反射是框架的灵魂。在运行的时候,他是把类中成员抽取为其他类对象的过程。
比如:我们之前是拿着对象去找上面的类,看哪个类有这个属性或者方法
但是现在是拿着现有的方法或者属性去找类
2.获取反射Class
我个人喜欢第一种方法,既不用new一个新对象也不用.forName去获取路径
3.通过反射类获取类对象
这个newInstance就相当于之前我们学习的 new 一个新对象。
通过反射类获取类对象就是这样
4.获取反射类中的属性成员对象
Field类中具有的常用方法
简单修改对象里面的属性内容
获取属性上的注解对象以及里面的属性,关于注解内容我的主页写的第二篇就是关于自定义注解的。可以观看一下
5.获取方法类对象
这里我做了一个类。里面有几种简单的方法 ,通过反射去获取方法对象。打印即可显示内容
Method类中常用的方法
学会了反射之后也可以通过自定义注解和反射去配合着操作,拿到自定义注解中的内容之后就可以执行很多想做的操作了。
6.获取构造对象
获取无参构造的时候会默认继承父类的无参构造。有一个隐形的super() 这个大家都知道
所以反射里面同样也会出现这样的问题。
获取无参构造和有参构造是常用的两种方式,如果想要获取私有(private)方法、函数、属性 就需要添加setAccessible(true)前面有写