JAVA反射Field
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA反射Field相关的知识,希望对你有一定的参考价值。
通过反射获取到指定Field实体。如何能知道这属性的值呢?
如:public final int a=5;
我获取到了属性名为a的Field实体,如何能知道他的值(也就是5)?
没有get和set方法,不能通过Method反射
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的主要内容,如果未能解决你的问题,请参考以下文章
Java 虚拟机原理Java 反射原理 ( 反射作用 | 反射用法 )