gpt4 book ai didi

Java - 为什么我们在构造函数中使用 "this"关键字?

转载 作者:行者123 更新时间:2023-12-02 13:25:56 25 4
gpt4 key购买 nike

我尝试环顾四周,但很难找到“这个”。但我似乎无法理解这两者之间的区别

public class x{
int y = 0;
int z = 0;

x(int y, int z){
y = y;
z = z
}
}

public class x{
int y = 0;
int z = 0;

x(int y, int z){
this.y = y;
this.z = z;
}
}

最佳答案

当你写的时候

y = y;
z = z;

您只是将局部变量分配给它们自己,而根本不触及实例变量。由于 y 引用局部变量,因此您必须编写 this.y 来引用要分配的实例变量。

如果变量不打算被修改,您可以通过将变量设置为 final 来帮助捕获此类错误。例如:

x(final int y, final int z) {
this.y = y;
this.z = z;
}

如果去掉 this. 前缀,您将收到编译错误,因为局部变量 yz 不能被改变。

关于Java - 为什么我们在构造函数中使用 "this"关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23643913/

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