在java中可以创建多少个嵌套的"新"对象?

ERJ*_*JAN 2 java oop object object-oriented-analysis

class car{
    Salon s ;
}
class Salon{
     Radio musicsystem ;
}
class Radio{
    Button play ;
}
class Button{
     String s ;
}

void main(){
    car mustang = new car( new Salon( new Radio(new Button ("fight club song"))))
}
Run Code Online (Sandbox Code Playgroud)

我很容易想象有很多新的(新的(新的(新的......))).你有多深?我"直觉地"觉得编译器/ jvm /系统有太多级别的对象可能会很糟糕......

java对深度有限制吗?

Mar*_*nik 6

一个令人满意的答案应该是,你可以比你想要在代码中看到实际发生的更深入.

如果你只想为了它的乐趣来娱乐极限,我相信你实际上会遇到的第一个限制是单个方法的字节码长度的限制,它设置在一个非常低的64K.

真正担心达到限制的唯一方法是当你有递归构造函数调用时,例如在构造不可变链表或类似结构时可能会有这种调用.