来自超类的静态方法在子类上调用

时间:2016-06-15 06:05:10

标签: java inheritance static-methods

我需要在子类上调用超类静态方法,并注意它是在子类上调用的。以下代码显示了用例,请注意子类B.importantMethod()上的方法调用以及我需要知道在子类上调用它的位置://would like to get B here

class A {
    public static void importantMethod() {
        System.out.println("???"); //would like to get B here
    }
}

class B extends A {
    //no implementation, just inheritance
}

public class Test {
    public static void main(String[] args) {
        B.importantMethod();
    }
}

实现这一目标的任何可行方式对我都有好处。我的尝试最终没有任何结果,我总是A,而不是B

2 个答案:

答案 0 :(得分:2)

这是不可能的。静态方法始终属于定义它们的类。 importantMethod是类A的方法。

答案 1 :(得分:1)

静态方法是类方法,因此属于该类;没有办法做你想做的事。有关进一步说明,请参阅this topic。 如果您提供有关此问题的更多信息,我们可以帮助您找到替代解决方案。