本文目錄一覽:
- 1、JAVA反射Field
- 2、java中的field是什麼意思
- 3、java field為什麼需要單獨導入
- 4、java中的field什麼意思
- 5、Java中的類的field到底是指什麼?
- 6、請問java中的field是什麼意思
JAVA反射Field
//直接上例子代碼import java.lang.reflect.Field;public class Test {
public final int a=5;
public static void main(String[] args) {
Test test = new Test();
try {
Field field = Test.class.getField(“a”);//指定要獲取的字段名
//從Test對象中獲取一個整形值;相應的也有getFloat()/getBoolean()等等方法。。詳見JDK文檔
System.out.println(field.getInt(test));
//如果不能確定是什麼數據類型可以返回一個Object
Object obj = field.get(test);
System.out.println(obj);
System.out.println(obj.getClass().getName());//獲取對象的數據類型
} catch (Exception e) {
e.printStackTrace();
}
}
}
java中的field是什麼意思
field的意思是“字段”,這裡可以理解成變量.
field的解釋:
class A{
private int a; //private field私有域
protected double b; //protected field保護域
public String c; //public field公共域
A d; //default access field默認訪問域
public static Object e; //public static field公共靜態域
.
}
java field為什麼需要單獨導入
因為Field並不是java.lang包下的直接子類
而是java.lang.reflect包下的子類,所以需要導包,只有lang包下的直接子類不需要導包例如:java.lang.String就不需要導包
java中的field什麼意思
主要方法
getType(): 獲取屬性聲明時類型對象(返回class對象)
getGenericType() : 返回屬性聲的Type類型
getName() : 獲取屬性聲明時名字
getAnnotations() : 獲得這個屬性上所有的注釋
getModifiers() : 獲取屬性的修飾
isEnumConstant() : 判斷這個屬性是否是枚舉類
isSynthetic() : 判斷這個屬性是否是 複合類
get(Object obj) : 取得obj對象這個Field上的值
set(Object obj, Object value) : 向obj對象的這個Field設置新值value
Field類中最常用的是get(Object obj)和set(Object obj, Object value)這兩個方法,所以這兩個方法是最重要的。
getType() 和 getGenericType()的區別 :
1.首先是返回的類型不一樣,一個是Class對象一個是Type接口
2.如果屬性是一個泛型,從getType()只能得到這個屬性的接口類型。但從getGenericType()還能得到這個泛型的參數類型。
isEnumConstant()和isSynthetic() :
對象中如果有屬性是枚舉類或複合類,用這兩個方法返回的值並不是我們想象的true而是false。其實這兩個方法是對編譯生成的才有效。
Java中的類的field到底是指什麼?
field就是類的屬性,在類級別的定義用static,普通成員變量
方法參數是局部變量,實際上就是這麼區分的。
請問java中的field是什麼意思
Java中Field 提供有關類或接口的單個字段的信息,以及對它的動態訪問權限。反射的字段可能是一個類字段或實例字段。Field是成員變量的意思。Field也是一個類,該類位於java.lang.reflect包下。
Field使用示例:
class Test{
private int a; //private field私有域
protected double b; //protected field保護域
public String c; //public field公共域
Test d; //default access field默認訪問域
public static Object e; //public static field公共靜態域
……
}
擴展資料
1.獲取變量的類型。
Field.getType():返回這個變量的類型。
Field.getGenericType():如果當前屬性有簽名屬性類型就返回,否則就返回 Field.getType()。
isEnumConstant() : 判斷這個屬性是否是枚舉類。
2.獲取成員變量的修飾符。
Field.getModifiers() 以整數形式返回由此 Field 對象表示的字段的 Java 語言修飾符。
3.獲取和修改成員變量的值。
getName() : 獲取屬性的名字。
get(Object obj) 返回指定對象obj上此 Field 表示的字段的值。
set(Object obj, Object value) 將指定對象變量上此 Field 對象表示的字段設置為指定的新值。
參考資料來源:Oracle-Java
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/227648.html