看板 java 關於我們 聯絡資訊
大家好!最近在學Java的內部類別,碰到了一點問題... 想請問一般內部類別裡面不能放靜態(static)成員嗎? 如下方程式碼編譯是不通過的。 public class Test { public static void fun() {} // OK public class TestInner { static int x; // not OK public static void fun() {} // not OK } } 想知道原因 謝謝大家! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.248.226.136 ※ 編輯: exorpo 來自: 111.248.226.136 (08/22 18:42) ※ 編輯: exorpo 來自: 111.248.226.136 (08/22 18:42)
pico2k:原因就是Java不允許這樣子的宣告。 08/22 19:26
pico2k:請去看一下Java Language Specification 08/22 19:31
exorpo:嗯,找到了,謝謝!:) Ans:http://goo.gl/6zIzQ 08/22 19:55
po500922:宣告成static代表他不屬於單一個物件~應該是這樣吧 08/22 20:57
LaPass:C 好像才能這樣玩 java不行 08/23 07:58
LaPass:眼殘看錯,我看成在fun內宣告static 08/23 08:01
lachtchlee:static variable 好比愛心雨傘 放在店家門口(外部類中 08/23 10:29
lachtchlee:非靜態內部類外)就可以了 何必把它們放在有保全的倉庫 08/23 10:34
lachtchlee:(非靜態內部類中) 本來用類的名稱就可拿到的愛心傘 還 08/23 10:39
lachtchlee:要請出外部類的實例 然後創建非靜態內部類的實例 才摸 08/23 10:44
lachtchlee:得到那把愛心傘 效率太差 故乾脆規定 在非靜態內部類 08/23 10:49
lachtchlee:中 不該出現static鼠輩 08/23 10:53
lachtchlee:static method也是鼠輩 08/23 10:55
sbrhsieh:跟效率無關。主要是語意上適不適當。 08/23 17:44
lachtchlee:有何根據@~@ 08/23 19:32