我需要在子类上调用超类静态方法,并注意它是在子类上调用的。以下代码显示了用例,请注意子类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
。
答案 0 :(得分:2)
这是不可能的。静态方法始终属于定义它们的类。 importantMethod
是类A
的方法。
答案 1 :(得分:1)
静态方法是类方法,因此属于该类;没有办法做你想做的事。有关进一步说明,请参阅this topic。 如果您提供有关此问题的更多信息,我们可以帮助您找到替代解决方案。