在同一个类的定义中创建一个对象是否比响应该对象创建一个新对象并不奇怪,然后这个新对象创建另一个对象,并且无限循环开始
不,主方法仅在运行程序时运行一次。它不会再次执行。因此,该对象将仅创建一次。
认为您的主要方法超出了您的课堂范围。它将创建您的类的实例,并使用创建的实例。因此,当您从main
方法创建实例时,将调用构造函数以初始化实例的状态,然后在构造函数返回时,将执行main方法的下一条语句。
但是,如果您在构造函数中创建了类的实例(例如0-arg),并且将该引用作为实例引用变量,则将变成无限递归。
public class A {
private A obj;
public A() {
obj = new A(); // This will become recursive creation of object.
// Thus resulting in StackOverflow
}
}