爲什麼有可能從子實例訪問我的超類的靜態方法?爲什麼我可以從子實例訪問我的超類的靜態方法?
public class Test {
public static void main(String[] args) {
new UtilImpl().fun();
new AbstractUtil() {}.fun();
}
static abstract class AbstractUtil {
public static void fun() {
System.out.println("Fun!");
}
}
static class UtilImpl extends AbstractUtil {
}
}
我可以從父類的實例訪問父類的靜態方法達成一致。但是,如果我實例化一個子類,那麼訪問父類的靜態上下文就很奇怪。
PS
什麼是調用實例的靜態方法的優勢是什麼?
爲什麼?因爲它是這樣指定的。但是,您會收到警告。 – Dici
這個主題已經很好的涵蓋了,有例子和解釋,在這裏:https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html –
這個問題實際上並不乏味,檢查我關聯的SO問題 – Dici