java反射

反射

  • 一、基本知识


一、基本知识

* 反射:
 * 程序————>javac.exe运行生成.class运行时类————>java.exe对运行时类进行解析
 * 明白反射的意义:
 *   获取.class运行时类,并把它作为一个对象。获取它的属性、方法、构造器
 *
 *  思路,将每一个对象当作一个框架,里面有各种各样的属性:动物类:有手、脚、眼睛等抽象的概念
 *      我们利用反射去获取这些抽象的属性:脚
 *      再拿起具体的对象,对脚进行设置,set(对象,具体值)
 *  实际使用:
 *  1.获取对象class对象
 *     |-- 调用运行时的类属性.class,得到Class的实例化对象
 *         Class  clazz = Person.class;
 *
 *     |-- getClass方法,获取该实例化对象缓存的运行时类
 *         Person p1 = new Person();
 *         Class clazz = p1.getClass();
 *
 *     |-- 调用Class类的静态方法
 *         Class clazz = Class.forName("day4_16_reflecttion.Person");

 *      |-- 使用类的加载器 ClassLoder,从配置文件中读取
 *
 *   2.获取构造器创建实例对象
 *     clazz.getConstructor().newInstance();
 *
 *   3.获取类的方法
 *      Method setPriceMethod = clazz.getMethod("setPrice", int.class);
 *      getDeclaredFields() 方法则可以获取包括私有属性在内的所有属性
 *
 *   4.调用方法
 *      setPriceMethod.invoke(实例化对象, 设置的值);

你可能感兴趣的:(java后端面试准备)