概念:在程式執行的時候 動態的載入類和類的資訊。
package com.qianfeng.reflects;
public
class
person
public
person
(string name, integer age, string add)
public string getname()
public
void
setname
(string name)
public integer getage()
public
void
setage
(integer age)
public string getadd()
public
void
setadd
(string add)
private
void
hello()
public
voidhi(
)@override
public string tostring()
}
class cls
=p.getclass()
;person p=
(person)cls.
newinstance()
;
class cls
=person.
class
;constructor
constructor = c2.
getconstructor
(integer.
class
,string.
class
,integer.
class);
//設定引數類型別
person newinstance = constructor.
newinstance(1
,"zs",18
);//設定具體引數
參構造方法(以person為例,有兩個構造方法,乙個帶參,乙個不帶參)
@org
.junit.jupiter.api.test
void
test()
throws exception
}}
@org
.junit.jupiter.api.test
void
test2()
throws exception
@org
.junit.jupiter.api.test
void
test3()
throws exception
連線
初始化
載入的時機
反射2 動態載入類
動態載入 和靜態載入的區別 class.forname 類的全稱 編譯時刻載入類是靜態載入類,執行時刻載入類是動態載入類。package dog public class animal if cat equals args 0 package dog public class dog 很顯然以上第一...
類的載入和反射機制
1.啟動jvm 2.將需要執行的class檔案載入到虛擬機器記憶體中 3.找到主類,開始執行主函式 載入步驟 1.先委託父類載入類,如果父類已經載入,就不需要再次載入,如果父類沒有載入,再由本載入器載入 2.解析類路徑,將類路徑轉換成檔案路徑 3.通過檔案輸入流來讀取class檔案,得到位元組陣列 ...
對於類的載入和類反射的理解
總體來說,類載入一共要進行三個階段 載入 將j a原始檔預編譯成j a.class位元組碼檔案然後載入進記憶體當中,並且將這些靜態資料轉換成方法區執行時的資料結構,最後生成乙個代表這個類的j a.lang.class物件 有了物件就能夠呼叫類的方法,這也是反射的基礎 驗證 對載入的類進行jvm規範驗...