JAVA反射Field

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA反射Field相关的知识,希望对你有一定的参考价值。

通过反射获取到指定Field实体。如何能知道这属性的值呢?
如:public final int a=5;
我获取到了属性名为a的Field实体,如何能知道他的值(也就是5)?
没有get和set方法,不能通过Method反射

//直接上例子代码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();


参考技术A java.lang.reflect.Field
Field[] fields = classname.getDeclaredFields();
Field有get方法取值

以上是关于JAVA反射Field的主要内容,如果未能解决你的问题,请参考以下文章

Android进阶必学:自定义注解之反射

Java 虚拟机原理Java 反射原理 ( 反射作用 | 反射用法 )

JAVA反射Field

Java Reflection (JAVA反射)机制详解

说说对java反射的理解,使用反射如何获取一个类的所有方法,使用反射需要注意哪些问题?

反射机制在java中如何做呀?