看板 java 關於我們 聯絡資訊
各位大大好, 就我所知VB6和JavaScript裡面都有Getter/Setter的概念, VB6是物件的屬性有Get和Set的方法, JavaScript則是物件用以下方式宣告: var obj = { _foo, get foo() { return this._foo; }, set foo(value) { this._foo = value; } }; 然後就可以這樣如下使用: obj.foo = "bar"; window.alert(obj.foo); 請問Java有沒有辦法做到類似這種可以直接用 = 這個運算元 來達成實際是執行Getter/Setter函數的方法? 謝謝。 -- ` ◥◣◢◣◢◣ ◢▏。 ○ ο ° ██◤ █◤◥◤█ o ° ◤ ◥ █ █ ˍ ◤◤ ◢◤ ◢◤██◣ ◢ ◢◤ ◤ingsay ◢███ ζ ) ) mt.rmstudio.tw mt@moztw.org ◤◤ wnqui -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.42.67.27
abola921:JSTL + EL 我想到的就是這個搭配了 07/15 17:54
swpoker:亂入~寫了個tagforspringbean的tag超好用! 07/16 09:04
adrianshum:沒有。 07/16 12:43
PsMonkey:我比較想知道... 為什麼要有...... 07/16 12:44
cuteclare:...public ? 看不懂原po在問啥~看來我程度太差了 07/16 19:49
我看很多 Java 程式碼都是寫成: public class Foo { private int _bar; public int getBar() { return _bar; } public void setBar(int bar) { if (bar >= 0) _bar = bar; } public Foo(int bar) { _bar = bar; } public Foo() { this(0); } } 所以使用起來會是像這樣的用法: Foo foo = new Foo(); foo.setBar(3); System.out.println(foo.getBar()); // 3 foo.setBar(-8); // invalid bar System.out.println(foo.getBar()); // 3 我只是期待可以這樣做同時達成Getter/Setter概念: foo.bar = 3; // _bar = 3 foo.bar = -8; // _bar won't change 不過看起來只有VB, JS, PHP才有這種特殊用法, 至於C/C++, Java我還是乖乖開getFoo/setFoo的function好了… ※ 編輯: a60301 來自: 114.42.70.180 (07/18 04:36)
abola921:那不是把bar宣告成public 就好不是嗎... 07/18 13:55