如题所述
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
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 对象表示的字段设置为指定的新值。
参考资料:
本回答被网友采纳意思是“字段”,这里可以理解成变量。
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公共静态域
.....
}
扩展资料:
field的用法
Field提供如下几种方法:
1、Class.getDeclaredField(String name);
返回一个 Field 对象,该对象反映此 Class 对象所表示的类或接口的指定已声明字段(包括私有成员)。
2、Class.getDeclaredFields();
返回 Field 对象的一个数组,该数组包含此 Class 对象所表示的类或接口所声明的所有字段(包括私有成员)。
3、Class.getField(String name);
返回一个 Field 对象,它反映此 Class 对象所表示的类或接口的指定公共成员字段。
4、Class.getFields();
返回一个包含某些 Field 对象的数组,该数组包含此 Class 对象所表示的类或接口的所有可访问公共字段。
本回答被网友采纳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公共静态域
.....
}本回答被提问者采纳
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。其实这两个方法是对编译生成的才有效。