Nat*_*ate 1 java recursion nested class instantiation
假设外部类中有一个嵌套类; 这个嵌套类可以在其自身内实例化外部类的实例吗?
如果外部类在其自身内实例化一个内部类的实例,而该实例又在内部类中实例化外部类的实例,这是否会导致无限递归?
ada*_*shr 12
如果你的意思如下,那么是的,它会导致a StackOverflowError
.
public class Outer {
public Outer() {
Inner inner = new Inner();
}
private class Inner {
public Inner() {
Outer outer = new Outer();
}
}
public static void main(String[] args) {
Outer outer = new Outer();
}
}
Run Code Online (Sandbox Code Playgroud)
以上打印:
Exception in thread "main" java.lang.StackOverflowError
at com.adarshr.Outer.<init>(Outer.java:6)
at com.adarshr.Outer$Inner.<init>(Outer.java:12)
at com.adarshr.Outer.<init>(Outer.java:7)
at com.adarshr.Outer$Inner.<init>(Outer.java:12)
at com.adarshr.Outer.<init>(Outer.java:7)
at com.adarshr.Outer$Inner.<init>(Outer.java:12)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
378 次 |
最近记录: |