看板 java 關於我們 聯絡資訊
※ 引述《ahli (ahli)》之銘言: : 不好意思,小弟最近拿起java複習, : 剛爬過文,也看了書想了很久... : 關於static的解釋還是不完全了解, : 下面po上我的想法與問題, : 觀念有錯誤的話還勞煩大大指證... : 我的想法是這樣的: : 貫上static的method應該是跟類別有關係,不是用物件來呼叫, : 而是直接用class.method XXX 來呼叫. : 所以它跟物件應該是沒有關係的,method本身也沒有位址. : 這是它跟一般用物件呼叫的method不同的地方. : 我的問題是... : 1.main也是static method,為什麼他可以用new來建立物件, : 這些物件是用來呼叫實例變數與函數的 (ex:CCircle c1=new CCircle()) : 不是說static method不能存取實例變數與函數嗎? static method不能存取現今所在的class的非static 的data member(也就是this指標) new出來的instance可以 例如 public class a{ int var = 1; public static void main(String [] args){ var = 0; <---error,這是不合法的 } } : 2.我在看上課筆記的時候有看到,static method可以存取區域變數, : 請問那是指,method自己獨有的變數嗎? : 麻煩各位大大了.. static method 存取在他scope下的local variable 例如 public static void main(String [] args){ int i=0; <---第2點指的是這個 } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.105.36