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()); }
}

TA貢獻1836條經(jīng)驗 獲得超5個贊
你這么設計不覺得矛盾么,既然不給set方法,那就是只讀的,在foo里就直接賦值。
你又要在別的類中去賦值,那干嘛不給set方法。
foo.readonly="";

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;
}

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

TA貢獻1876條經(jīng)驗 獲得超7個贊
在構造方法里賦值
//構造方法
public Foo(String readonly){
this.readonly = readonly;
}
//調(diào)用
new Foo("readonly");
添加回答
舉報