【发布时间】:2012-11-16 11:06:09
【问题描述】:
可能重复:
How can a class have a member of its own type, isnt this infinite recursion?
代码:
public class Test2{
private Test2 subject = new Test2(); //Create Test2 object in Test2
private int num;
}
问题:
为什么Java允许执行上述代码,而C++不允许?
上面的代码是否创建了无限数量的对象?由于
Test2本身包含一个Test2对象,该对象又包含一个Test2对象,该对象本身具有一个Test2对象等等。
【问题讨论】:
-
关于问题 #1:因为代码是 Java,而不是 C++。
-
@JohnDibling:大概,“C++”这个问题的意思是“用 C++ 编写的等效代码”。
-
@MikeSeymour:我想我的问题是,OP 认为等效代码是什么?
标签: java c++ oop reference instance-variables