问题

是否可以从另一个(在同一个类中,而不是从子类)调用构造函数?如果是如何?什么是最好的方法来调用另一个构造函数(如果有几种方法来做它)?



解决方法

是的,可以:

public class Foo {
    private int x;

    public Foo() {
        this(1);
    }

    public Foo(int x) {
        this.x = x;
    }
}

要链接到特定的超类构造函数而不是同一类中的一个,使用 super 而不是 this .请注意,只能链接到一个构造函数,而它必须是构造函数体中的第一个语句.

另请参阅此相关问题,这是关于C#,但相同的原则适用.




相关问题推荐