與java反射相關的類如下:
類名
用途
class類
代表類的實體,在運作的java應用程式中表示類和接口
field類
代表類的成員變量(成員變量也稱為類的屬性)
method類
代表類的方法
constructor類
代表類的構造方法
class代表類的實體,在運作的java應用程式中表示類和接口。在這個類中提供了很多有用的方法,這裡對他們簡單的分類介紹。
獲得類相關的方法
方法
assubclass(class<u> clazz)
把傳遞的類的對象轉換成代表其子類的對象
cast
把對象轉換成代表類或是接口的對象
getclassloader()
獲得類的加載器
getclasses()
傳回一個數組,數組中包含該類中所有公共類和接口類的對象
getdeclaredclasses()
傳回一個數組,數組中包含該類中所有類和接口類的對象
forname(string classname)
根據類名傳回類的對象
getname()
獲得類的完整路徑名字
newinstance()
建立類的執行個體
getpackage()
獲得類的包
getsimplename()
獲得類的名字
getsuperclass()
獲得目前類繼承的父類的名字
getinterfaces()
獲得目前類實作的類或是接口
獲得類中屬性相關的方法
getfield(string name)
獲得某個公有的屬性對象
getfields()
獲得所有公有的屬性對象
getdeclaredfield(string name)
獲得某個屬性對象
getdeclaredfields()
獲得所有屬性對象
獲得類中注解相關的方法
getannotation(class<a> annotationclass)
傳回該類中與參數類型比對的公有注解對象
getannotations()
傳回該類所有的公有注解對象
getdeclaredannotation(class<a> annotationclass)
傳回該類中與參數類型比對的所有注解對象
getdeclaredannotations()
傳回該類所有的注解對象
獲得類中構造器相關的方法
getconstructor(class...<?> parametertypes)
獲得該類中與參數類型比對的公有構造方法
getconstructors()
獲得該類的所有公有構造方法
getdeclaredconstructor(class...<?> parametertypes)
獲得該類中與參數類型比對的構造方法
getdeclaredconstructors()
獲得該類所有構造方法
獲得類中方法相關的方法
getmethod(string name, class...<?> parametertypes)
獲得該類某個公有的方法
getmethods()
獲得該類所有公有的方法
getdeclaredmethod(string name, class...<?> parametertypes)
獲得該類某個方法
getdeclaredmethods()
獲得該類所有方法
類中其他重要的方法
isannotation()
如果是注解類型則傳回true
isannotationpresent(class<? extends annotation> annotationclass)
如果是指定類型注解類型則傳回true
isanonymousclass()
如果是匿名類則傳回true
isarray()
如果是一個數組類則傳回true
isenum()
如果是枚舉類則傳回true
isinstance(object obj)
如果obj是該類的執行個體則傳回true
isinterface()
如果是接口類則傳回true
islocalclass()
如果是局部類則傳回true
ismemberclass()
如果是内部類則傳回true
field代表類的成員變量(成員變量也稱為類的屬性)。
equals(object obj)
屬性與obj相等則傳回true
get(object obj)
獲得obj中對應的屬性值
set(object obj, object value)
設定obj中對應屬性值
method代表類的方法。
invoke(object obj, object... args)
傳遞object對象及參數調用該對象對應的方法
constructor代表類的構造方法。
newinstance(object... initargs)
根據傳遞的參數建立類的對象
原作者:peter_rd_nj