java中怎么通过反射获取属性值

60次阅读
没有评论

共计 897 个字符,预计需要花费 3 分钟才能阅读完成。

在 Java 中,可以通过反射来获取属性的值。下面是一个示例代码:

import java.lang.reflect.Field;
public class ExampleClass {
private String name;
private int age;
public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException {ExampleClass obj = new ExampleClass();
obj.name = "John";
obj.age = 25;
// 获取属性的值
Class clazz = obj.getClass();
Field nameField = clazz.getDeclaredField("name");
nameField.setAccessible(true);
Object nameValue = nameField.get(obj);
System.out.println("name:" + nameValue);
Field ageField = clazz.getDeclaredField("age");
ageField.setAccessible(true);
Object ageValue = ageField.get(obj);
System.out.println("age:" + ageValue);
}
}

此示例创建了一个名为 ExampleClass 的类,其中包含了 nameage两个私有属性。通过反射,我们可以获取这两个属性的值。
首先,通过 obj.getClass() 获取到 ExampleClassClass对象。然后,使用 getDeclaredField() 方法获取到 nameage这两个属性的 Field 对象。
接下来,使用 setAccessible(true) 来设置私有属性的可访问性,然后通过 get() 方法获取属性的值。
最后,通过 System.out.println() 打印属性的值。
运行代码,将会输出以下结果:

name: John
age: 25

这样就成功通过反射获取了属性的值。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-21发表,共计897字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)