是否有可能編譯父類的java類子, 調用子類的方法不要求父類的加載。在沒有類加載父類的情況下調用子類方法?
可以編譯或運行某些高級選項。
例如 我有3類
public class Parent {
public void baseMethod(){
System.out.println("Parent.baseMethod invoked");
}
}
public class Child extends Parent{
public void childMethod(){
System.out.println("Child.childMethod invoked");
}
}
public class Main {
public static void main(String[] args) {
new Child().childMethod();
}
}
我編譯,以及刪除Parent.class。
我想運行
java Main
沒有exeption
爲什麼你想這樣做,想要什麼家長? – 2011-04-06 07:31:56
如果你想刪除父類,那麼你不需要它的方法和屬性。如果你不需要它的方法和屬性,你爲什麼要擴展它? – 2011-04-06 07:35:58
除了明顯需要加載父類[導致NoClassDefFoundError]外,Child的不可見構造函數確實包含對超級構造函數的調用。所以你不能編譯,你可以用Parent類運行時間。 – bestsss 2011-04-06 07:55:03