java使用反射访问成员变量的值示例

网友投稿 240 2023-01-02


java使用反射访问成员变量的值示例

本文实例讲述了java使用反射访问成员变量的值。分享给大家供大家参考,具体如下:

一 代码

import java.lang.reflect.*;

class Person

{

private String name;

private int age;

public String toString()

{

return "Person[name:" + name +

" , age:" + age + " ]";

}

}

public class FieldTest

{

public static void main(String[] args)

throws Exception

{

// 创建一个Person对象

Person p = new Person();

// 获取Person类对应的Class对象

Class personClazz = Person.class;

// 获取Person的名为name的成员变量

// 使用getDeclaredField()方法表明可获取各种访问控制符的成员变量

Field nameField = personClazz.getDeclaredField("name");

// 设置通过反射访问该成员变量时取消访问权限检查

nameFihttp://eld.setAccessible(true);

// 调用set()方法为p对象的name成员变量设置值

nameField.set(p , "Yeeku.H.Lee");

// 获取Person类名为age的成员变量

Field ageField = personClazz.getDeclaredField("age");

// 设置通过反射访问该成员变量时取消访问权限检查

ageField.setAccessible(true);

// 调用setInt()方法为p对象的age成员变量设置值

ageField.setInt(p , 30);

System.out.println(p);

}

}

二 运行

E:\Java\疯狂java讲义\codes\18\18.4>java FieldTest

Person[name:Yeeku.H.Lee , age:30 ]

更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:国内的接口测试工具有什么(接口测试常用工具有哪些)
下一篇:c++ 实现接口(c++ api接口)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~