Java Field get()方法及实例
java.lang.reflect.Field 的 get() 方法用于获取字段对象的值。如果字段有一个原始类型,那么字段的值就会自动被包裹在一个对象中。如果字段是一个静态字段,那么obj的参数被忽略;它可能是空的,否则,基础字段是一个实例字段。如果指定的obj参数为空,该方法会抛出一个NullPointerException,如果指定的对象不是声明底层字段的类或接口的实例,则抛出IllegalArgumentException。如果该字段隐藏在obj的类型中,则根据前面的规则获得该字段的值。
语法
参数: 该方法接受一个参数 obj ,它是要提取字段值的对象。
返回值: 该方法返回对象obj中代表字段的值;原始值在返回之前被包裹在一个适当的对象中。
异常: 该方法抛出以下异常。
- IllegalAccessException – 如果这个字段对象正在执行Java语言的访问控制,并且底层字段是不可访问的。
- IllegalArgumentException – 如果指定的对象不是声明底层字段的类或接口的实例(或其子类或实现者)。
- NullPointerException – 如果指定的对象为空,并且该字段是一个实例字段。
- ExceptionInitializerError – 如果此方法引发的初始化失败。
下面的程序说明了get()方法:
程序1 :
输出
程序2
输出
参考文献 : https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Field.html#get-java.lang.Object-