java see 方法_Java 反射常用方法
類名用途
Class類
代表類的實體,在運行的Java應用程序中表示類和接口
Field類
代表類的成員變量(成員變量也稱為類的屬性)
Method類
代表類的方法
Constructor類
代表類的構造方法
Class類
Class代表類的實體,在運行的Java應用程序中表示類和接口。在這個類中提供了很多有用的方法,這里對他們簡單的分類介紹。
獲得類相關的方法
方法用途
asSubclass(Class clazz)
把傳遞的類的對象轉換成代表其子類的對象
Cast
把對象轉換成代表類或是接口的對象
getClassLoader()
獲得類的加載器
getClasses()
返回一個數組,數組中包含該類中所有公共類和接口類的對象
getDeclaredClasses()
返回一個數組,數組中包含該類中所有類和接口類的對象
forName(String className)
根據類名返回類的對象
getName()
獲得類的完整路徑名字
newInstance()
創建類的實例
getPackage()
獲得類的包
getSimpleName()
獲得類的名字
getSuperclass()
獲得當前類繼承的父類的名字
getInterfaces()
獲得當前類實現的類或是接口
獲得類中屬性相關的方法
方法用途
getField(String name)
獲得某個公有的屬性對象
getFields()
獲得所有公有的屬性對象
getDeclaredField(String name)
獲得某個屬性對象
getDeclaredFields()
獲得所有屬性對象
獲得類中注解相關的方法
方法用途
getAnnotation(Class annotationClass)
返回該類中與參數類型匹配的公有注解對象
getAnnotations()
返回該類所有的公有注解對象
getDeclaredAnnotation(Class 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類
Field代表類的成員變量(成員變量也稱為類的屬性)。
方法用途
equals(Object obj)
屬性與obj相等則返回true
get(Object obj)
獲得obj中對應的屬性值
set(Object obj, Object value)
設置obj中對應屬性值
Method類
Method代表類的方法。
方法用途
invoke(Object obj, Object... args)
傳遞object對象及參數調用該對象對應的方法
Constructor類
方法用途
newInstance(Object... initargs)
根據傳遞的參數創建類的對象
=================================================================================
Java類加載器內容的詳解:
1、類的加載
當程序要使用某個類時,如果該類還未被加載到內存中,則系統會通過加載,連接,初始化三步來實現對這個類進行初始化
·加載:
就是指將class文件讀入內存,并為之創建一個Class對象,任何類被使用時系統都會建立一個Class對象
·連接:
驗證:確保被加載類的正確性
準備:負責為類的靜態成員分配內存,并設置默認初始化值
解析:將類中的符號引用替換為直接引用
·初始化:
局部變量保存在棧區:必須手動初始化
new 的對象保存在堆區:虛擬機會進行默認初始化,基本數據類型初始化值為0,引用類型初始化值為null
2、類加載的時機(只加載一次)
以下時機僅表示第一次的時候
① 創建類的實例的時候
② 訪問類的靜態變量的時候
③ 調用類的靜態方法的時候
④ 使用反射方式來強制創建某個類或接口對應的java.lang.Class對象
⑤ 初始化某個類的子類的時候
⑥ 直接使用java.exe命令來運行某個主類
3、類加載器
負責將.class文件加載到內存中,并為之生成對應的Class對象
雖然我們在開發過程中不需要關心類加載機制,但是了解這個機制我們就能更好的理解程序的運行
4、類加載器的組成:
①Bootstrap ClassLoader 根類加載器
也被稱為引導類加載器,負責Java核心類的加載,比如System類,在JDK中JRE的lib目錄下rt.jar文件中的類
②Extension ClassLoader 擴展類加載器
負責JRE的擴展目錄中jar包的加載,在JDK中JRE的lib目錄下ext目錄
③System ClassLoader 系統類加載器
負責在JVM啟動時加載來自java命令的class文件,以及classpath環境變量所指定的jar包和類路徑,主要是我們開發者自己寫的類。
總結
以上是生活随笔為你收集整理的java see 方法_Java 反射常用方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .net core 5 IIS Api网
- 下一篇: java细粒度锁_Java细粒度锁实现的