是栈溢出的错误。可能是一些无限循环。可能是构造方法里添加了自己的构造方法。也可能是在程序里多写了 ClassA a =new ClassA(),此处的ClassA 是没有被实际使用到的类。
例如有两个类,如下:
另一个:
请注意!当类B中使用了A a = new A();的时候。因为在类A的[color=red]方法外[/color]有个A a = new A();。所以出现了栈溢出。不知道是不是由于反复执行构造方法的缘故。但是只要把类A中的[color=red]A a = new A();[/color]放入方法体中可以避免错误!
例如有两个类,如下:
public Class A{
A a = new A();
public void a1(){
System.out.println("我的方法外有个new哦!,等下B会调用我!");
}
}
另一个:
public Class B(){
public static void main(String[] args) {
A a = new A();
a.a1();
}
}
请注意!当类B中使用了A a = new A();的时候。因为在类A的[color=red]方法外[/color]有个A a = new A();。所以出现了栈溢出。不知道是不是由于反复执行构造方法的缘故。但是只要把类A中的[color=red]A a = new A();[/color]放入方法体中可以避免错误!