这是输出(对于我的示例):
“ 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);
}