作者kdok123 (小天)
看板java
标题[问题] static runtime问题
时间Sat Dec 20 15:31:39 2014
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://webptt.com/cn.aspx?n=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
1F:→ ssccg: super就是指parent instance,Java spec里没有说在static 12/20 21:53
2F:→ ssccg: context里super可以当parent class来用,所以就不行 12/20 21:53
3F:→ ssccg: 跟runtime不runtime没关系 12/20 21:53
4F:→ ssccg: 这不是做不做的到的问题,而是Java设计上就是如此 12/20 22:10
5F:→ darkk6: 看没很懂原PO想问啥...是单纯问为何 static 不能用super ? 12/21 10:38
6F:→ darkk6: 那根 runtime 有什麽关系 ... ? 12/21 10:39
7F:→ swpoker: 何苦要把C++跟JAVA放在一起比较呢? 12/22 09:02