Kan*_*Yoo -3 java recursion constructor
我认为允许递归有时候非常方便,不是因为我可以在"递归"中编码,而是因为我可以为某些情况保存一些代码空间,如下所示
public class SomeClass
{
private int a;
SomeClass(int a)
{
this.a = a;
}
SomeClass()
{
SomeClass(3);
}
}
Run Code Online (Sandbox Code Playgroud)
当一个构造函数试图利用包含大块代码的另一个构造函数时,这尤其有效.
但是,Java显然不支持这个功能,我相信它并不是一个很好的理由.有人可以解释为什么吗?
您可以使用this关键字在构造函数中调用另一个构造函数:
public class SomeClass
{
private int a;
SomeClass(int a)
{
this.a = a;
}
SomeClass()
{
this(3);
}
}
Run Code Online (Sandbox Code Playgroud)
替代构造函数调用以关键字this开头(可能以显式类型参数开头).它们用于调用同一类的备用构造函数.
但是,我没有看到与递归有什么关系.