javafield字段类型_JavaField类⾸页 > 基础教程 > 反射 > Reflection API
Java Field类
Field是⼀个类,位于flect包下,在Java反射中Field⽤于获取某个类的属性或该属性的属性值。
获取Field类对象
1. DeclaredField(String name);
返回⼀个 Field 对象,该对象反映此 Class 对象所表⽰的类或接⼝的指定已声明字段(包括私有成员)。
2. DeclaredFields();
返回 Field 对象的⼀个数组,该数组包含此 Class 对象所表⽰的类或接⼝所声明的所有字段(包括私有成员)。
3. Field(String name);
学历英文返回⼀个 Field 对象,它反映此 Class 对象所表⽰的类或接⼝的指定公共成员字段。
4. Fields();
返回⼀个包含某些 Field 对象的数组,该数组包含此 Class 对象所表⽰的类或接⼝的所有可访问公共字段。
主要⽅法
getType(): 获取属性声明时类型对象(返回class对象)
getName() : 获取属性声明时名字
getAnnotations() : 获得这个属性上所有的注释
getModifiers() : 获取属性的修饰
isEnumConstant() : 判断这个属性是否是枚举类
isSynthetic() : 判断这个属性是否是 复合类
get(Object obj): 取得obj对象这个Field上的值
例⼦
//Person.java
public class Person{翻译官2
public String name;
private Integer age;
private String x;
//省略所有属性的t、get⽅法
package st;
import flect.Field;
public class Test
{
public static void main(String[]args) throws NoSuchFieldException, SecurityException
{
Person person =new Person();
//通过DeclaredField(String name)获取类或接⼝的指定已声明字段。
布里埃
Field Class().getDeclaredField("name");
System.out.println("-----DeclaredField(String name)⽤法-------");
System.out.println(f1);
System.out.println("-----DeclaredFields()⽤法-------");
//通过DeclaredFields()获取类或接⼝的指定已声明字段。
Field []Class().getDeclaredFields();
for(Field field:f2)
{
哥白尼是哪国人
System.out.println(field);
}
System.out.println("-----Field(String name)⽤法-------");
//通过Field(String name)返回⼀个类或接⼝的指定公共成员字段,私有成员报错。Field Class().getField("name");
System.out.println(f3);
//如果获取age属性(私有成员) 则会报错
//Field Class().getField("name");
System.out.println("-----Fields()⽤法-------");
//通过Field(),返回 Class 对象所表⽰的类或接⼝的所有可访问公共字段。
Field []Class().getFields();
for(Field fields:f4)
{
//因为只有name属性为共有,因此只能遍历出name属性
System.out.println(fields);
}
}营销工具
}
运⾏结果:
-----DeclaredField(String name)⽤法-------
public java.lang.String st.Person.name
河蟹怎么保存-----DeclaredFields()⽤法-------
public java.lang.String st.Person.name
private java.lang.Integer st.Person.age
追梦人作文private java.lang.String st.Person.x
-----Field(String name)⽤法-------
public java.lang.String st.Person.name
梦见鱼缸-----Fields()⽤法-------
public java.lang.String st.Person.name
总结
Field类中最常⽤的是get(Object obj)和t(Object obj, Object value)这两个⽅法,所以这两个⽅法是最重要的。版权声明:本⽂为JAVASCHOOL原创⽂章,未经本站允许不得转载。