什么是java反射机制?
反射机制就是正在运行动态获取当前的类的全部信息
类能够不用new,使用java反射机制帮你去初始化
类私有属性,可使用java的放射机制赋值
反射机制的做用
1,反编译:.class-->.java
2.经过反射机制访问java对象的属性,方法,构造方法等;java
反射机制的应用场景
Jdbc 加载驱动-----
Spring ioc
框架 api
反射机制获取类有三种方法框架
//第一种方式: Classc1 = Class.forName("Employee"); //第二种方式: //java中每一个类型都有class 属性. Classc2 = Employee.class; //第三种方式: //java语言中任何一个java对象都有getClass 方法 Employeee = new Employee(); Classc3 = e.getClass(); //c3是运行时类 (e的运行时类是Employee)
反射建立对象的方式
函数
Class<?> forName = Class.forName("com.itmayiedu.entity.User"); // 建立此Class 对象所表示的类的一个新实例 调用了User的无参数构造方法. Object newInstance = forName.newInstance();
实例化有参构造函数
spa
Class<?> forName = Class.forName("com.itmayiedu.entity.User"); Constructor<?> constructor = forName.getConstructor(String.class, String.class); User newInstance = (User) constructor.newInstance("123", "123");
反射建立api
方法名称 做用
getDeclaredMethods [] 获取该类的全部方法
getReturnType() 获取该类的返回值
getParameterTypes() 获取传入参数
getDeclaredFields() 获取该类的全部字段
setAccessible 容许访问私有成员code
将构造函数为私有化对象