private属性,没有set方法,只有get方法,如何给这个属性赋值?

publicclassFoo{privateStringreadwrite;//withgetterandsetterprivateStringreadonly;//wi... public class Foo {

private String readwrite; // with getter and setter
private String readonly; // with getter

public String getReadwrite() {
return readwrite;
}

public void setReadwrite(String readwrite) {
this.readwrite = readwrite;
}

public String getReadonly() {
return readonly;
}

}

当我在其他类中调用Foo时,想给其readonly赋值,怎么办?
找到一个扩展包JODD,这个可以:
Foo foo=new Foo();
BeanUtil.setDeclaredProperty(foo, "readonly", "data");
System.out.println(foo.getReadonly());
但是他是怎么做到的?很奇怪
展开
 我来答
arrow7880
2014-09-04 · TA获得超过100个赞
知道答主
回答量:140
采纳率:100%
帮助的人:115万
展开全部
那是第三方写的一个框架,并非Java自带的,Java中确实存在可以不依靠setter来改变private的变量,但相当麻烦,如果不是专门查找我是真没听过,BeanUtils则简化了过程,看看这个网站吧:
http://blog.csdn.net/orclight/article/details/6913162
坑507
2014-09-03 · 超过10用户采纳过TA的回答
知道答主
回答量:24
采纳率:0%
帮助的人:14.1万
展开全部
重写构造函数Foo (String readonly)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Chiao_jz
2014-09-04 · TA获得超过151个赞
知道答主
回答量:172
采纳率:0%
帮助的人:60.4万
展开全部
要么整个构造函数,new的时候就把值带上要么就加个set了,不然我也不知道了。。。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式