是否有可能编译父类的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