【发布时间】:2013-11-15 08:45:22
【问题描述】:
我的内部和外部类文件在这里:-
package com.demo;
public class Outer {
int outer_x=100;
void test(){
Inner inner =new Inner();
inner.display();
}
public class Inner {
void display(){
Outer ob=new Outer();
ob.test();
System.out.println("display: outer_x= "+outer_x);
}
}
}
另一个主类访问外部类成员:-
package com.demo;
class InnerClassDemo{
public static void main(String args[]){
Outer outer=new Outer();
outer.test();
}
}
例外:-
Exception in thread "main" java.lang.StackOverflowError
at com.demo.Outer.<init>(Outer.java:3)
at com.demo.Outer$Inner.display(Outer.java:12)
at com.demo.Outer.test(Outer.java:8)
如何解决这个问题,请给我任何想法?
【问题讨论】:
-
在
test()方法中跟踪您的执行。 -
test() 方法中的哪种错误我访问了内部类方法
-
外层 --> 内层 --> 外层 --> 内层 --> 外层 --> 内层 --> ........ StackOverFlowException
-
我仍然喜欢这个网站上有关 StackOverflows 的问题 :)
-
可以请人编辑我的代码为什么会出现这个错误
标签: java class exception package outer-join