反射就是對一個類進行解剖,把一個類中的各種成分對映成一個類

java程式執行位元組碼檔案的過程

1啟動jvm程序

2把所有相關的位元組碼加入記憶體(類載入器)

3.系統為每個位元組碼生成一個class物件

4初始化(靜態程式碼塊)

5靜態成員變數

得到一個類的Class物件的三種方法

1:類名.class;

2:該類的一個例項.getClass();

3:Class.forName("該類在當前包下的路徑");

public class Demo01 {

public static void main(String[] args) throws ClassNotFoundException {

Student st=new Student();

Class c2=Student.class;

Class c3 =st.getClass();

Class c4=Class.forName("com.part1.Student");

System.out.println(c2==c3);

System.out.println(c4==c3);

//對於基本型別和包裝器型別

Integer i=120;

Class c5=Integer.class;

Class c6=i.getClass();

System.out.println(c5==c6);

Class c7=int.class;

System.out.println(c5==c7);

Class c8=Integer.TYPE;

System.out.println(c7==c8);

}

}

true

true

true

false

true

注:基本資料型別和對應的包裝器型別得到的不是同一個class物件

但是包裝器型別.Type返回的卻是基本資料型別的物件