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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java field, property,variable及getField和getDeclaredField的区别

發布時間:2024/6/21 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java field, property,variable及getField和getDeclaredField的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java 里面的field ,property, attribute,variable的區別

field: 就是定義的用于保存數據的字段

property: property是用于描述類中的特征,所以property比field的含義要廣,因為特征包含的方面更加廣,一個數據可以代表某方面的特征,但是并不是所有的特征都是你要的數據,它可能是類本身的某個特性的描述。

variable:變量,就是我們平時看到的變量。

?

綜上:如果你要想通過反射來獲取某個數據模型里面的字段的話跟Field相關,跟其它的沒多大關系。

getField:獲取某個類的所有public字段(包含所繼承的類的所有字段)

需要注意的是getField這個方法有很多的條件限制:在api文檔里面提到了,如果某個類(這里取名類A),類A中如果不包含public關鍵字修飾的Field,或類A是一個數組類型,原子類型(byte,short,int,long,char,float,double,boolean),無返回值類型的時候,這個方法返回的數組是一個長度為0的數組。假如你通過這個方法得到了要返回的字段了,這些字段是所有它的繼承與實現的父類,接口,及自身的字段列表。注意public申明的是字段而不是說你的get,set 方法是用public關鍵字生命的,假如的定義的成員變量 a 這個字段沒有public申明那么通過這個方法是取不到的。這里面有一句話蠻難理解的是“類A是一個數組類型,原子類型(byte,short,int,long,char,float,double,boolean),無返回值類型的時候”,它的意思是這個類型是你對象申明的類型,數組類型是 int []這種,而不是說你的類繼承了Array這個類型。以下舉個例子就理解了。

private static String[] fieldNamesOfClass(Class aClass){
if(aClass == null){
return null;
}
Field fields[] = aClass.getFields();
int length = fields.length;
String fieldNames[] = new String[length];
for (int i=0; i<length; i++){
Field field = fields[i];
fieldNames[i] = field.getName();
}

System.out.printf(fieldNames.toString());

return fieldNames;
} int []xx = new int[3];
String[] xxfieldNames = fieldNamesOfClass(xx);
int yy = 3;
String[] yyfieldNames = fieldNamesOfClass(yy);

getDeclaredField:獲取當前類的字段(包含public,protected,private修飾的所有字段,不包含其所繼承類的字段),所以如果你要對某個數據模型做反射的話要注意里面的字段的定義,不要冗余了

(當然你的類或接口里面沒有過申明字段,那么你掉上面那兩個方法是沒有一點意義的。返回的都是長度為0的數組)

獲取反射字段的方法是用?getDeclaredField;

轉載于:https://www.cnblogs.com/codetime/p/5427288.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的java field, property,variable及getField和getDeclaredField的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

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