Middle
Is it possible to inherit static methods in Java?
sobes.tech AI
Answer from AI
In Java, static methods are not inherited in the traditional sense of inheritance. Although a subclass can call static methods of its superclass, these methods are not overridden and are not associated with class instances. If a static method with the same name is declared in a subclass, it is method hiding, not overriding.
Example:
class Parent {
static void staticMethod() {
System.out.println("Parent static method");
}
}
class Child extends Parent {
static void staticMethod() {
System.out.println("Child static method");
}
}
public class Test {
public static void main(String[] args) {
Parent p = new Child();
p.staticMethod(); // Outputs "Parent static method"
Child.staticMethod(); // Outputs "Child static method"
}
}
Thus, static methods are tied to the class, not to objects, and are not inherited in the usual sense.