Java 构造函数没有初始化变量
以下是输出(以我为例): "0 18" 但通常情况下,类checks的对象“checks”会在18初始化类checks的变量Java 构造函数没有初始化变量,java,constructor,Java,Constructor,以下是输出(以我为例): "0 18" 但通常情况下,类checks的对象“checks”会在18初始化类checks的变量n,但这不会发生 public class Connect6 { int n; public Connect6(int n) { this.n = n; } Checks checks = new Checks(n); public void place() { Terminal.printL
n
,但这不会发生
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
):
Checks检查=新检查(n)
在Connect6
构造函数的主体之前执行,因此n
此时仍然为0。在初始化n
之后,应该在Connect6
构造函数内创建Checks
实例
改变
public Connect6(int n) {
this.n = n;
}
Checks checks = new Checks(n);
到
Checks检查=新检查(n)
在Connect6
构造函数的主体之前执行,因此n
此时仍然为0。在初始化n
之后,应该在Connect6
构造函数内创建Checks
实例
改变
public Connect6(int n) {
this.n = n;
}
Checks checks = new Checks(n);
到
当您键入
int n
,它的值不是null
它是0
查看默认值
段落
当您键入
int n时,默认int
值为0
,它的值不是null
它是0
查看默认值
段落
默认的
int
值是0
检查对象在构造函数调用之前是否已初始化
正确的代码应如下所示:
public class Connect6 {
int n;
Checks checks;
public Connect6(int n) {
this.n = n;
this.checks = new Checks(n);
}
public void place() {
Terminal.printLine(checks.getN());
Terminal.printLine(n);
}
}
检查对象在构造函数调用之前是否已初始化 正确的代码应如下所示:
public class Connect6 {
int n;
Checks checks;
public Connect6(int n) {
this.n = n;
this.checks = new Checks(n);
}
public void place() {
Terminal.printLine(checks.getN());
Terminal.printLine(n);
}
}
在哪里初始化类Connect6并调用方法place?class main,我没有发布。在哪里初始化类Connect6并调用方法place?class main,我没有发布。