共计 1017 个字符,预计需要花费 3 分钟才能阅读完成。
通过 Java 反射可以获取对象的属性值,可以使用以下步骤:
- 获取对象的 Class 对象:使用
getClass()
方法获取对象的 Class 对象,例如:
Class<?> cls = obj.getClass();
- 获取对象的属性:使用
getDeclaredField()
方法获取指定名称的属性对象,例如:
Field field = cls.getDeclaredField("fieldName");
其中,"fieldName" 为需要获取的属性名称。
- 设置属性的访问权限:如果属性是私有的,需要设置属性的访问权限为可访问,使用
setAccessible(true)
方法设置属性的可访问性,例如:
field.setAccessible(true);
- 获取属性的值:使用
get()
方法获取属性值,例如:
Object value = field.get(obj);
其中,obj
为对象实例。
完整示例代码如下:
import java.lang.reflect.Field;
public class Main {public static void main(String[] args) throws Exception {// 创建对象实例
User user = new User("Alice", 18);
// 获取对象的 Class 对象
Class<?> cls = user.getClass();
// 获取属性对象
Field nameField = cls.getDeclaredField("name");
Field ageField = cls.getDeclaredField("age");
// 设置属性的访问权限
nameField.setAccessible(true);
ageField.setAccessible(true);
// 获取属性值
Object nameValue = nameField.get(user);
Object ageValue = ageField.get(user);
System.out.println("name: " + nameValue);
System.out.println("age: " + ageValue);
}
}
class User {private String name;
private int age;
public User(String name, int age) {this.name = name;
this.age = age;
}
}
这样就可以通过 Java 反射获取对象的属性值了。
丸趣 TV 网 – 提供最优质的资源集合!
正文完