【发布时间】:2014-03-30 17:12:24
【问题描述】:
第一个问题在代码里面。第二个问题是为什么不能将静态方法重写为非静态方法?三是为什么static和abstract不能并存?
class A {
public void display() {
System.out.println("Display of Class A called");
}
}
class B extends A {
public void display() {
System.out.println("Display of Class B called");
}
}
class C extends B {
public void display() {
System.out.println("Display of Class C called");
super.display(); // calls B's Display
// Is there a way to call A's display() from here?
}
}
【问题讨论】:
-
想想
static的含义——它并不特定于任何特定的实例。现在想想多态是如何工作的:使用的实现取决于调用方法的instance。看看他们是如何不真正一起工作的?至于另一个问题,不,你不能。见stackoverflow.com/questions/586363。 -
另外,请一次只问一个问题。