Java 通过反射获取对应属性值
时间: 2023-09-08 21:14:55 浏览: 103
Java 反射可以很方便地获取对象的属性值,以下是获取属性值的步骤:
1. 获取 Class 对象
首先需要获取对象所对应的 Class 对象,可以使用以下方法:
```
Class clazz = object.getClass();
```
其中 object 是要获取属性值的对象。
2. 获取属性对象
通过 Class 对象可以获取属性对象,可以使用以下方法:
```
Field field = clazz.getDeclaredField(fieldName);
```
其中 fieldName 是要获取的属性名。
3. 设置访问权限
由于属性可能是 private 或 protected 访问权限,需要设置访问权限,可以使用以下方法:
```
field.setAccessible(true);
```
4. 获取属性值
使用以下方法获取属性值:
```
Object value = field.get(object);
```
其中 object 是要获取属性值的对象。
完整代码示例:
```
public class Main {
public static void main(String[] args) throws Exception {
Person person = new Person("张三", 18);
Class clazz = person.getClass();
Field field = clazz.getDeclaredField("age");
field.setAccessible(true);
Object value = field.get(person);
System.out.println(value);
}
}
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
```
阅读全文