gpt4 book ai didi

java - 在初始化之前打印字段似乎在初始化之后打印它

转载 作者:行者123 更新时间:2023-12-01 11:39:09 24 4
gpt4 key购买 nike

你能解释一下这种奇怪的行为吗?

public class Car {

private int wheels;

public Car(int wheels) {
System.out.println("Before: " + wheels); // prints 3 before initialisation
this.wheels = wheels;
System.out.println("After: " + wheels); // prints 3

}

public static void main(String[] args) {
Car car = new Car(3);
}
}

如果运行此代码,它将打印两次 3,而不是 0,就在此时,在字段 wheels 初始化之后>,3

最佳答案

因为当你引用wheels而不带this关键字时,你引用的参数显然是3。<​​/p>

将线路更改为

System.out.println("Before: " + this.wheels);

或更改参数名称。

关于java - 在初始化之前打印字段似乎在初始化之后打印它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29687763/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com