您现在所在的位置: 北风技术专栏 > Java > 修改对象私有属性

修改对象私有属性

作者:ikon999 发布于:2008年10月13日 17:54

如果类没有定义修改私有属性的方法;那么借助java反射机制,通过Class,取得Field,通过设置Field.setAccessible(true) ,就可以调用set方法为私有属性设值;

import java.lang.reflect.Field;

public class ReflectionTest{

public static void main(String[] args) throws Exception{

PrivateTest pt = new PrivateTest();

Class<?> clazz = PrivateTest.class;

Field field = clazz.getDeclaredField(”name”);

field.setAccessible(true);

field.set(pt,”world”);

System.out.println(pt.getName());

}

}

class PrivateTest{

private String name=”hello”;

public String getName(){

return name;

}

}

作者:ikon999
来源:北风技术专栏
原文链接:http://column.ibeifeng.com/51564/20081013112.shtml

( 内容完 )

添加收藏到:

您可能还对这些文章感兴趣:

  • 艺术,真的和Haskell有关吗?
  • ikon999原创:Dwr2的日志代码分析
  • ikon999原创:JsUnit测试之一
  • 简述WebS简述WebService与.NET Remoting的区别及适应场合
  • Flex+Lucene+s2sh开发订餐系统开发第六步:后台主界面设计
  • guzz1.2.8 beta2发布--支持动态加载在线调试SQL
  • 【翻译】Ant常用任务1-解压缩任务
  • 联系我们
  • OSGI中的service依赖关系管理
  • 用Flex+Lucene+s2sh开发订餐系统开发第四步:前台皮肤替换功能实现
  • 没有评论, 我来评论

    小贴士:评论需要管理员审核后才会显示。请不要发布与国家法律相抵触的言论,北风网将保留追究责任的权利。
    类似“顶”、“沙发”、“支持”之类没有营养的文字,对勤劳贡献的作者来说是令人沮丧的反馈信息。
    请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
    如果您发现自己的评论没有被审核或者不见了,请参考以上三条。

    每周之星

    陈臣陈臣

    七年Java和JEE开发经验,JEE应用设计和高级架构师,拥有Sun的多项Java和J2EE方面的技能认证,多年项目经理、技术部经理的管理经验。拥有全面、扎实的Java和JEE理论知识,丰富的JEE应用开发经验。

    更多作者:

  • Adam
  • ikon999
  • jk1234
  • jk2345
  • libin_8745
  • lifengxing
  • taohuang100
  • xingkong
  • 北风
  • 呆子
  • 子晨
  • 小白
  • 张章
  • 张维亮
  • 陈臣
  • 陶宝哥
  • 风风
  • 最新内容

    推荐内容

    标签

    分类