作者exorpo (exorpo)
看板java
標題[問題] 一般內部類別不能放靜態方法?
時間Mon Aug 22 18:39:19 2011
大家好!最近在學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)
1F:→ pico2k:原因就是Java不允許這樣子的宣告。 08/22 19:26
2F:→ pico2k:請去看一下Java Language Specification 08/22 19:31
4F:推 po500922:宣告成static代表他不屬於單一個物件~應該是這樣吧 08/22 20:57
5F:推 LaPass:C 好像才能這樣玩 java不行 08/23 07:58
6F:推 LaPass:眼殘看錯,我看成在fun內宣告static 08/23 08:01
7F:推 lachtchlee:static variable 好比愛心雨傘 放在店家門口(外部類中 08/23 10:29
8F:→ lachtchlee:非靜態內部類外)就可以了 何必把它們放在有保全的倉庫 08/23 10:34
9F:→ lachtchlee:(非靜態內部類中) 本來用類的名稱就可拿到的愛心傘 還 08/23 10:39
10F:→ lachtchlee:要請出外部類的實例 然後創建非靜態內部類的實例 才摸 08/23 10:44
11F:→ lachtchlee:得到那把愛心傘 效率太差 故乾脆規定 在非靜態內部類 08/23 10:49
12F:→ lachtchlee:中 不該出現static鼠輩 08/23 10:53
13F:→ lachtchlee:static method也是鼠輩 08/23 10:55
14F:→ sbrhsieh:跟效率無關。主要是語意上適不適當。 08/23 17:44
15F:推 lachtchlee:有何根據@~@ 08/23 19:32