本文目录一览:
- 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/n/227648.html