日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

浅谈Java反射(Reflect)技术--常用方法

發布時間:2025/3/20 java 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 浅谈Java反射(Reflect)技术--常用方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java反射(Reflect)技術

概念:動態獲取在當前Java虛擬機中的類、接口或者對象等等信息(運行過程中讀取內容)


1.作用(面試問題):

1.1 解除兩個類之間的耦合性,即在未得到依賴類的情況下,自身應用可以通過編譯

1.2 動態依賴注入(即需要某一類對象時動態生成類實例,并設置到被依賴的類中),減少編譯時的內存開銷 ?(大多框架都用)

2.獲取Class對象的三種方式:(重要)

2.1、使用Class類的靜態方法: Class.forName(String name) jdbc注冊驅動使用過;
2.2、類的語法:T.class,代表了與其匹配的Class對象 ?json:解析:fastjson,gson,org開頭的。。。
2.3、使用類的實例化的getClass方法: obj.getClass()




3.獲取類的構造器java.lang.reflect.Constructor(了解)

3.1 ?public Constructor<?>[] getConstructors() 返回類中所有的public構造器集合,默認構造器的下標為0
3.2 ?public Constructor<T> getConstructor(Class<?>... parameterTypes) 返回指定public構造器,參數為構造器參數類型集合
3.3 ?public Constructor<?>[] getDeclaredConstructors() 返回類中所有的構造器,包括私有
3.4 ?public Constructor<T> getDeclaredConstructor(Class<?>... parameterTypes) 返回任意指定的構造器
3.5 ?Constructor重要的方法newInstance(Object ...initargs) 實例化類


4.獲取類的成員變量java.lang.reflect.Field(重要) ?

4.1 public Field[] getFields() 獲取所有的public成員變量
4.2 public Field getField(String?name) 獲取任意public成員變量
4.3 public Field[] getDeclaredFields() ?獲取所有的成員變量

4.4 public Field getDeclaredField(String?name) ?獲取任意指定名字的成員變量

4.5 public void setAccessible(boolean flag) 設置私有屬性是否可訪問

4.6 Field 重要方法set(Object obj, Object ?value) 字段設置為指定的新值。


5.獲取類的方法java.lang.reflect.Method(重要)

5.1 public Method[] getMethods() 獲取所有的共有方法的集合
5.2 public Method?getMethod(String?name,Class<?>... parameterTypes) 獲取指定公有方法
5.3 public Method[] getDeclaredMethods() ?獲取所有的方法
5.4 public Method getDeclaredMethod(String?name,Class<?>... parameterTypes) 獲取任意指定方法
5.5 Method重要方法invoke(Object obj ,Object…parmasType) 執行對象的方法,第一個參數為類實例對象,第二個參數:對象方法的參數

6.Class類的實例化方法 newInstance()

7.獲取類的全名:getName() ;包名+類名

8.獲取類的簡稱:getSimpleName() ? 類名

9.獲取類的包名:getPackage() ?包名

總結

以上是生活随笔為你收集整理的浅谈Java反射(Reflect)技术--常用方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。