我在Netbeans中创建了一个java项目,如下所示:运行后出现错误消息:
public class Outer {
static class NestedDemo{
public void MyMethod(){
System.out.println("This is my nested class");
}
}
public static void main(String args[]){
Outer.NestedDemo nested=Outer.new NestedDemo();
nested.MyMethod();
}
}
错误是这样的:
java.lang.VerifyError: Constructor must call super() or this() before return in method array.newpackage.newpackage.Outer.<init>()V at offset 0
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2451)
at java.lang.Class.getMethod0(Class.java:2694)
at java.lang.Class.getMethod(Class.java:1622)
at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486)
Exception in thread "main" Java Result: 1
BUILD SUCCESSFUL (total time: 2 seconds)
问题是什么?
答案 0 :(得分:0)
您正在使用Outer.new NestedDemo();这是错的。它不会提供内存,因此'嵌套'将无法提供参考。 使用新的Outer.NestedDemo(); 它会运行。