[问题] 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