这是输出(对于我的示例):
“ 0
18“
但是通常,“检查”类的对象“检查”会将类n的变量Checks初始化为18,但这没有发生。

public class Connect6 {
    int n;

    public Connect6(int n) {
        this.n = n;
    }


    Checks checks = new Checks(n);


    public void place() {
        Terminal.printLine(checks.getN());
        Terminal.printLine(n);
    }
}


这是Check类(类main只是初始化对象Connect6并调用方法place):

public class Checks {
    int n;
    public int getN() {
        return n;
    }
    public Checks(int n) {
        this.n = n;
    }

最佳答案

Checks checks = new Checks(n);Connect6构造函数的主体之前执行,因此n当时仍为0。初始化Checks之后,应在Connect6构造函数中创建n实例。

更改

public Connect6(int n) {
    this.n = n;
}


Checks checks = new Checks(n);




private Checks checks;
public Connect6(int n) {
    this.n = n;
    this.checks = new Checks(n);
}

09-11 18:41