一、反射
1.什么是反射?
2.为什么使用反射?
3.如何获取反射类Class?
4.Class反射类中常用的方法?
5.获取反射Method对象
6.Method类中具有的方法。
7.获取反射Field对象
8.Field类中常用的方法。
1.什么是反射?
--反射是框架设计的灵魂。是在类运行期间,把类中成员抽取为其他类的过程。
学过的框架:mybaties持久化框架、springmvc框架 mvc框架、spring框架。
2.为什么使用反射?
为了解决在运行期,对某个实例一无所知的情况下,如何调用其方法或属性。
比如:1.spring框架中只需要传入类的路径,spring框架就会帮你创建类的对象。
2.Idea通过反射获取类中所有的method方法对象,以提示框的形式列出。
3.如何获取反射类Class?
提供了三种模式:
第一种:通过类名.class属性
Class<Student> aClass = Student.calss;
第二种:通过类路径获取
Class aClass = Class.forName("导入获取的类");
第三种:通过对象名获取
Student student = new Student();
Class aClass = student.getClass();
public class Test01 {
public static void main(String[] args) throws Exception{
//1.通过类名.calss属性
Class<Student> studentClass = Student.class;
//2.通过类路径获取
Class<?> aClass = forName("com.wjy.ref01.Student");
//3.通过对象名获取反射类
Student student = new Student();
Class<? extends Student> aClass1 = student.getClass();
}
}
4.Class反射类中常用的方法?
1.根据反射类获取实例对象:newInstance()--得到反射类的类对象
2.得到反射类上的注解对象:getAnnotation()