如何在子类中将超类的实例方法重写为静态?我认为这是不可能的,但有任何间接方式吗?
public class A {
public void test(){
System.out.println("");
}
}
public class B extends A{
public static void test(){//test() in B cannot override test() in A
//overriding method is static
}
}
答案 0 :(得分:8)
您不能,因为静态方法不是实例方法。您可以使用调用静态方法的实例方法覆盖实例方法。
public class B extends A {
@Override
public void test(){
staticTest();
}
public static void staticTest() {
}
}
我不确定会有多大意义。