Java反射:
* Java反射機制是在運行狀態中,對於任意一個類(class),都能夠知道這個類的所有屬性和方法
* 對於任意一個對象,都能夠調用他的任意一個方法和屬性
* 這種動態獲取的信息以及動態掉用對象的方法的功能稱爲Java語言的反射機制
*
* 動態獲取類中的信息,就是Java反射
* 可以理解爲對類的解剖。
*
* 要想對字節碼文件進行解刨,必去要有字節碼文件對象。
1.獲取字節碼文件的三種方法
1.1Object類中的getClass()方法,想要用這種方式必須明確具體的類和對象
public static void getClassObject_1(){
Person p=new Person();
Class class1=p.getClass();
Person p1=new Person();
Class class2=p1.getClass();
System.out.println(class1==class2);//依賴同一個Class完成 結果爲True
}
1.2任何數據類型都具備一個靜態屬性.class來獲取 其對應的class對象,
public static void getClassObject_2(){
Class class3=Person.class;
}
1.3.(重點掌握)只要通過給定的類的字符串名稱就可以獲取該類,該方法就是forName方法,這種方式只要有名稱即可
public static void getClassObject_3() throws ClassNotFoundException{
String classname="com.itcast.bean.Person";//必須帶包名
Class class4=Class.forName(classname);
System.out.println(class4);
}