更新時間:2022-11-16 來源:黑馬程序員 瀏覽量:
在反射操作中,也可以獲取一個類中的全部屬性,但是類中的屬性包括兩部分,即從父類繼承的屬性和本類定義的屬性。因此,在獲取類的屬性時也有以下兩種不同的方式。
(1)獲取實現(xiàn)的接口或父類中的公共屬性:public Field[] getFields throws SecurityException。
(2)獲取本類中的全部屬性:public Field[]getDeclaredFields throws SecurityException。
上述兩種方法返回的都是Field數(shù)組,每一個Field對象表示類中的一個屬性。如果要獲取屬性的詳細(xì)信息,就需要調(diào)用Field類的方法。Field類的常用方法下所示。
(1)public int getModifiers()方法:得到本方法的修飾符。
(2)public String getName()方法:得到方法的名稱。
(3)public boolean isAccessible()方法:判斷此屬性是否被外部訪問。
(4)public void setAccessible(Boolean flag)throws SecurityException:設(shè)置一個屬性是否可被外部訪問。
(5)public String toString():返回此Field類的信息。
(6)public Object get(Object obj)throws lllegalArgument Exception,lllegalAccessException:得到一個對象中屬性的具體內(nèi)容。
(5)public void set(Object obj,Object value)throws lllegalArgument Exception,lllegalAccessException:設(shè)置指定對象中屬性的具體內(nèi)容。