看板 java 關於我們 聯絡資訊
ex: class A{ static void tell(){ sout("I am A"); } } class B extends A{ static void tell(){ super.tell(); //問題 } } 問題: 有別於c++, Java的static是在runtime執行的 這樣我想static的運算應該會少了很多限制 所以我測試了一下讓static call super指針(兩個都是runtime才運算的) 結果發現不行? 其實static用起來還是跟C++一樣(至少我這麼覺得...) 請問既然static是在runtime運行的,那為什麼很多runtime的動作沒辦法一起做呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.228.150.131 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1419060702.A.0E6.html ※ 編輯: kdok123 (220.228.150.131), 12/20/2014 15:32:16 ※ 編輯: kdok123 (220.228.150.131), 12/20/2014 15:33:32
ssccg: super就是指parent instance,Java spec裡沒有說在static 12/20 21:53
ssccg: context裡super可以當parent class來用,所以就不行 12/20 21:53
ssccg: 跟runtime不runtime沒關係 12/20 21:53
ssccg: 這不是做不做的到的問題,而是Java設計上就是如此 12/20 22:10
darkk6: 看沒很懂原PO想問啥...是單純問為何 static 不能用super ? 12/21 10:38
darkk6: 那根 runtime 有什麼關係 ... ? 12/21 10:39
swpoker: 何苦要把C++跟JAVA放在一起比較呢? 12/22 09:02