java反射获得属性值_java反射取对象属性值 不是通过get方法取值?
时间: 2023-08-13 11:02:29 浏览: 259
java基于反射得到对象属性值的方法
5星 · 资源好评率100%
可以通过反射获得对象的属性值,不一定需要通过getter方法。使用反射可以直接访问对象的私有属性,而不需要暴露getter方法。以下是通过反射获取对象属性值的示例代码:
```
public class MyClass {
private int myField;
public MyClass(int myField) {
this.myField = myField;
}
}
// ...
MyClass obj = new MyClass(42);
Field field = obj.getClass().getDeclaredField("myField");
field.setAccessible(true);
int value = (int) field.get(obj);
System.out.println(value); // prints "42"
```
这段代码首先获取了`MyClass`类的`myField`属性,然后设置该属性可访问,并使用`get`方法获取`obj`对象的`myField`属性值。注意,使用反射访问私有属性时,需要先设置属性可访问。
阅读全文