是否可以从另一个(在同一类中,而不是在子类中)调用构造函数?如果是,怎么办?调用另一个构造函数的最佳方法是什么(如果有几种方法可以做到)?
对的,这是可能的:
public class Foo { private int x; public Foo() { this(1); } public Foo(int x) { this.x = x; } }
要链接到特定的超类构造函数而不是同一类中的构造函数,请使用super代替this。注意,你只能链接到一个构造函数,它必须是构造函数主体中的第一条语句。
super
this