更新時間:2021-04-25 15:02:27 來源:動力節點 瀏覽952次
Java反射獲取某個類的全部屬性,步驟所用方法如下:
1.forName()返回給定串名相應的類對象。
2.getDeclaredFields()返回當前類對象表示的類或接口的所有已說明的域對象數組。
3.getFields()返回當前類對象表示的類或接口的所有可訪問的公有域對象數組。
4.getModifiers()返回該類或接口的Java語言修改器代碼。
5.getName()返回類對象表示的類型(類,接口,數組或基類型)的完整路徑名字符串。
//獲取某個類的全部屬性
軟件包net.xsoftlab.baike;
導入java.io.Serializable;
導入java.lang.reflect.Field;
導入java.lang.reflect.Modifier;
公共類TestReflect實現了Serializable {
私有靜態最終長serialVersionUID = -2862585049955236662L;
公共靜態void main(String [] args)引發異常{
Class <?> clazz = Class.forName(“ net.xsoftlab.baike.TestReflect”);
System.out.println(“ ==============本類屬性==============);
//取得本類的全部屬性
Field [] field = clazz.getDeclaredFields();
for(int i = 0; i <field.length; i ++){
//權限修飾符
int mo = field [i] .getModifiers();
字符串priv = Modifier.toString(mo);
//屬性類型
Class <?> type = field [i] .getType();
System.out.println(priv +“” + type.getName()+“” + field [i] .getName()+“;”));
}
System.out.println(“ ==========實現的接口或父類的屬性==========);
//取得實現的接口或父類的屬性
Field [] filed1 = clazz.getFields();
for(int j = 0; j <filed1.length; j ++){
//權限修飾符
int mo = filed1 [j] .getModifiers();
字符串priv = Modifier.toString(mo);
//屬性類型
Class <?> type = filed1 [j] .getType();
System.out.println(priv +“” + type.getName()+“” + filed1 [j] .getName()+“;”);
}
}
}
以上就是動力節點小編介紹的“Java反射獲取屬性的方法”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為您服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習