看板 java 關於我們 聯絡資訊
※ 引述《k43582 (crab)》之銘言: : 大家好 : static概念不太清楚 想問問大家 : 程式碼&問題=>http://nopaste.csie.org/3927d : 希望好心人 幫我一下 : 謝謝你!! 你缺少的觀念有點多,我沒辦法全部在這裡說明, 所以先指出你程式註解有錯的部份。 1. static class Virus { //static inner class 因為test要標為static 這個也要 否則不過 Virus 加不加 static 跟裡頭的 method 是不是 static 完全無關, compile 有錯誤是其他原因造成的,去查查有關 inner class 的資料吧。 2. Virus why = new Virus(); //為何這樣也可以? static "class"竟然可以建立物件???? static class 本來就可以建立物件。 3. why.test(); //目的要使用static的test 問題:與下面兩行的Math哪裡不同?? Math.abs(3.4); //直接用class名稱用 不准建立物件 而Virus可建立 矛盾?? static method 允許你用類別或物件去呼叫 (雖然我不覺得透過物件呼叫有任何好處) 4. Math a = new Math(); //出錯 我要呼叫static的abs() 這邊不能建立物件 不懂??? 錯誤訊息應該會告訴你原因: Math 只有 private Constructor。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.78.231
chchwy:推這篇 原問把一堆觀念攪在一起了 03/13 00:28
asilzheng:第4個有點怪 final class可以建物件吧(String) 03/13 00:43
感謝指正 :p ※ 編輯: tkcn 來自: 140.114.78.231 (03/13 00:48)
asilzheng:第1個我有點好奇 class有static這個修飾詞嗎?? 03/13 00:55
有的,但必須是 inner class,一般就叫作 static inner class。 但也有些書認為,那並不是真的 inner class,只是多一層 scope 而已。 可參考: #1DFPK50o ※ 編輯: tkcn 來自: 140.114.78.231 (03/13 01:01)
asilzheng:哦 他是inner class 03/13 00:56