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