[問題] static runtime問題

作者: kdok123 (小天)   2014-12-20 15:31:39
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的動作沒辦法一起做呢?
作者: ssccg (23)   2014-12-20 21:53:00
super就是指parent instance,Java spec裡沒有說在staticcontext裡super可以當parent class來用,所以就不行跟runtime不runtime沒關係這不是做不做的到的問題,而是Java設計上就是如此
作者: darkk6 (Mr. Pan)   2014-12-21 10:38:00
看沒很懂原PO想問啥...是單純問為何 static 不能用super ?那根 runtime 有什麼關係 ... ?
作者: swpoker (swpoker)   2014-12-22 09:02:00
何苦要把C++跟JAVA放在一起比較呢?

Links booklink

Contact Us: admin [ a t ] ucptt.com