field.get(obj)
时间: 2024-10-16 07:09:48 浏览: 22
获取Field对象-java高级程序设计课件
`field.get(obj)` 是Java反射API中常用的一个方法,它用于从给定的对象`obj`中获取指定字段的值。`field`是一个代表对象内部某个属性的`Field`对象,这个方法会在`obj`上查找并返回相应字段对应的变量值。
例如,假设有一个`Person`类,其中有个名为`name`的私有字段:
```java
public class Person {
private String name;
// getters and setters...
}
```
你可以通过以下方式获取这个`name`字段的值:
```java
Person person = new Person();
String nameValue = person.getClass().getDeclaredField("name").get(person);
System.out.println(nameValue); // 输出 person 的名字
```
这里,`field.getDeclaredField("name")` 获取了`Person`类中名为`name`的字段,`field.get(person)`则是将这个字段应用到`person`实例上,获取其实际存储的值。
需要注意的是,由于`get()`方法默认访问权限是私有的,所以在直接使用它之前,通常需要通过`setAccessible(true)`设置字段为可访问,特别是在处理私有字段的时候。
阅读全文