怎么使用java反射获取对象属性值

avatar
作者
猴君
阅读量:1

使用Java反射获取对象属性值的步骤如下:

  1. 获取对象的Class对象,可以通过对象的getClass()方法获取。
Class<?> clazz = object.getClass(); 
  1. 获取属性的Field对象,可以通过Class对象的getField()、getDeclaredField()、getFields()、getDeclaredFields()等方法获取。
Field field = clazz.getDeclaredField("fieldName"); 
  1. 设置Field对象的accessible属性为true,以使得可以访问私有属性。
field.setAccessible(true); 
  1. 使用Field对象的get()方法获取属性值。
Object value = field.get(object); 

完整的示例代码如下:

import java.lang.reflect.Field; public class Main { public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException { MyClass myObject = new MyClass(); myObject.setField("Hello World"); Class<?> clazz = myObject.getClass(); Field field = clazz.getDeclaredField("field"); field.setAccessible(true); Object value = field.get(myObject); System.out.println(value); } static class MyClass { private String field; public void setField(String field) { this.field = field; } } } 

上述示例代码中,通过反射获取了私有属性field的值,并输出到控制台上。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!