第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java方面:private屬性,沒有set方法,只有get方法,如何給這個屬性賦值?

java方面:private屬性,沒有set方法,只有get方法,如何給這個屬性賦值?

回首憶惘然 2019-04-18 18:19:22
如題;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; }}當我在其他類中調(diào)用Foo時,想給其readonly賦值,怎么辦?
查看完整描述

8 回答

?
富國滬深

TA貢獻1790條經(jīng)驗 獲得超9個贊

用反射吧,然后設置setAccessible為true就可以了,如下:
public class Test {

private String readOnly;
public String getReadOnly() {
    return readOnly;
}
public static void main(String[] args) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
    Test t = new Test();
    Field f = t.getClass().getDeclaredField("readOnly");
    f.setAccessible(true);
    f.set(t, "test");
    System.out.println(t.getReadOnly());
}

}


查看完整回答
反對 回復 2019-05-06
?
藍山帝景

TA貢獻1843條經(jīng)驗 獲得超7個贊

我覺得這應該是去面試時,人家提出的問題。寫一個構成(constructor)的辦法是對的。


查看完整回答
反對 回復 2019-05-06
?
一只甜甜圈

TA貢獻1836條經(jīng)驗 獲得超5個贊

你這么設計不覺得矛盾么,既然不給set方法,那就是只讀的,在foo里就直接賦值。
你又要在別的類中去賦值,那干嘛不給set方法。

foo.readonly="";


查看完整回答
反對 回復 2019-05-06
?
冉冉說

TA貢獻1877條經(jīng)驗 獲得超1個贊

1.同意樓上的看法,最好是給readonly加一個set方法。如下
public void setReadonly(String readonly) {
this.readonly= readonly;
}
2.你可以寫一個別的方法來設置readonly的值(呵呵,還不如給它加set方法)如下:
public void xxxx(String readonly){
this.readonly = readonly;
}

查看完整回答
反對 回復 2019-05-06
?
揚帆大魚

TA貢獻1799條經(jīng)驗 獲得超9個贊

應該是面試時候問的吧用一個有參數(shù)的構造方法賦值就可以了不會連構造方法也不讓用吧!
面試問這些稀奇古怪的題其實基本上就是想用你了就是想壓你的工資你自己往下降個1000,700的基本上就沒問題了

查看完整回答
反對 回復 2019-05-06
?
江戶川亂折騰

TA貢獻1851條經(jīng)驗 獲得超5個贊

反射可以實現(xiàn)
關鍵是在獲得的字段上setAccessible=true

查看完整回答
反對 回復 2019-05-06
?
幕布斯6054654

TA貢獻1876條經(jīng)驗 獲得超7個贊

在構造方法里賦值
//構造方法
public Foo(String readonly){
this.readonly = readonly; 
}

//調(diào)用
new Foo("readonly");


查看完整回答
反對 回復 2019-05-06
?
繁星點點滴滴

TA貢獻1803條經(jīng)驗 獲得超3個贊

擴展包JODD可以,不對Foo進行任何修改


查看完整回答
反對 回復 2019-05-06
  • 8 回答
  • 0 關注
  • 2169 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號