[問題] 一般內部類別不能放靜態成員?

看板java作者 (exorpo)時間13年前 (2011/08/22 18:39), 編輯推噓5(5010)
留言15則, 6人參與, 最新討論串1/2 (看更多)
大家好!最近在學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)

08/22 19:26, , 1F
原因就是Java不允許這樣子的宣告。
08/22 19:26, 1F

08/22 19:31, , 2F
請去看一下Java Language Specification
08/22 19:31, 2F

08/22 19:55, , 3F
嗯,找到了,謝謝!:) Ans:http://goo.gl/6zIzQ
08/22 19:55, 3F

08/22 20:57, , 4F
宣告成static代表他不屬於單一個物件~應該是這樣吧
08/22 20:57, 4F

08/23 07:58, , 5F
C 好像才能這樣玩 java不行
08/23 07:58, 5F

08/23 08:01, , 6F
眼殘看錯,我看成在fun內宣告static
08/23 08:01, 6F

08/23 10:29, , 7F
static variable 好比愛心雨傘 放在店家門口(外部類中
08/23 10:29, 7F

08/23 10:34, , 8F
非靜態內部類外)就可以了 何必把它們放在有保全的倉庫
08/23 10:34, 8F

08/23 10:39, , 9F
(非靜態內部類中) 本來用類的名稱就可拿到的愛心傘 還
08/23 10:39, 9F

08/23 10:44, , 10F
要請出外部類的實例 然後創建非靜態內部類的實例 才摸
08/23 10:44, 10F

08/23 10:49, , 11F
得到那把愛心傘 效率太差 故乾脆規定 在非靜態內部類
08/23 10:49, 11F

08/23 10:53, , 12F
中 不該出現static鼠輩
08/23 10:53, 12F

08/23 10:55, , 13F
static method也是鼠輩
08/23 10:55, 13F

08/23 17:44, , 14F
跟效率無關。主要是語意上適不適當。
08/23 17:44, 14F

08/23 19:32, , 15F
有何根據@~@
08/23 19:32, 15F
文章代碼(AID): #1EKZ7Pu4 (java)
文章代碼(AID): #1EKZ7Pu4 (java)