什麼是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
將構造函數爲私有化對象