首頁(yè)技術(shù)文章正文

Java反射機(jī)制:獲取全部屬性

更新時(shí)間:2022-11-16 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

  在反射操作中,也可以獲取一個(gè)類中的全部屬性,但是類中的屬性包括兩部分,即從父類繼承的屬性和本類定義的屬性。因此,在獲取類的屬性時(shí)也有以下兩種不同的方式。

  (1)獲取實(shí)現(xiàn)的接口或父類中的公共屬性:public Field[] getFields throws SecurityException。

  (2)獲取本類中的全部屬性:public Field[]getDeclaredFields throws SecurityException。

  上述兩種方法返回的都是Field數(shù)組,每一個(gè)Field對(duì)象表示類中的一個(gè)屬性。如果要獲取屬性的詳細(xì)信息,就需要調(diào)用Field類的方法。Field類的常用方法下所示。

  (1)public int getModifiers()方法:得到本方法的修飾符。

  (2)public String getName()方法:得到方法的名稱。

  (3)public boolean isAccessible()方法:判斷此屬性是否被外部訪問(wèn)。

  (4)public void setAccessible(Boolean flag)throws SecurityException:設(shè)置一個(gè)屬性是否可被外部訪問(wèn)。

  (5)public String toString():返回此Field類的信息。

  (6)public Object get(Object obj)throws lllegalArgument Exception,lllegalAccessException:得到一個(gè)對(duì)象中屬性的具體內(nèi)容。

  (5)public void set(Object obj,Object value)throws lllegalArgument Exception,lllegalAccessException:設(shè)置指定對(duì)象中屬性的具體內(nèi)容。

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!