[問題] static runtime問題

看板java作者 (小天)時間9年前 (2014/12/20 15:31), 9年前編輯推噓0(007)
留言7則, 3人參與, 最新討論串1/3 (看更多)
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

12/20 21:53, , 1F
super就是指parent instance,Java spec裡沒有說在static
12/20 21:53, 1F

12/20 21:53, , 2F
context裡super可以當parent class來用,所以就不行
12/20 21:53, 2F

12/20 21:53, , 3F
跟runtime不runtime沒關係
12/20 21:53, 3F

12/20 22:10, , 4F
這不是做不做的到的問題,而是Java設計上就是如此
12/20 22:10, 4F

12/21 10:38, , 5F
看沒很懂原PO想問啥...是單純問為何 static 不能用super ?
12/21 10:38, 5F

12/21 10:39, , 6F
那根 runtime 有什麼關係 ... ?
12/21 10:39, 6F

12/22 09:02, , 7F
何苦要把C++跟JAVA放在一起比較呢?
12/22 09:02, 7F
文章代碼(AID): #1KbINU3c (java)
文章代碼(AID): #1KbINU3c (java)