The first question is inside the code. The second question is why static methods can't be overridden to be non-static methods? The third is why can't static and abstract go together?
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?
}
}
staticmeans - it's not specific to any particular instance. Now think about how polymorphism works: the implementation used depends on the instance that a method is called on. See how they don't really work together? As for the other question, no, you can't. See stackoverflow.com/questions/586363.