用static关键字覆盖实例方法

时间:2015-04-30 08:20:53

标签: 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

   }
}

1 个答案:

答案 0 :(得分:8)

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

public class B extends A {
    @Override
    public void test(){
        staticTest();
    }
    public static void staticTest() {
    }
}

我不确定会有多大意义。