用static关键字覆盖实例方法

Sar*_*han 2 java

如何在子类中将超类的实例方法重写为静态?我认为这是不可能的,但是有任何间接方式吗?

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

   }
}
Run Code Online (Sandbox Code Playgroud)

Era*_*ran 8

你不能,因为静态方法不是实例方法.您可以使用调用静态方法的实例方法覆盖实例方法.

public class B extends A {
    @Override
    public void test(){
        staticTest();
    }
    public static void staticTest() {
    }
}
Run Code Online (Sandbox Code Playgroud)

我不确定会有多大意义.