一尘不染

如何在Java中从另一个调用一个构造函数?

java

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


阅读 437

收藏
2020-02-27

共1个答案

一尘不染

对的,这是可能的:

public class Foo {
    private int x;

    public Foo() {
        this(1);
    }

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

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

2020-02-27