gpt4 book ai didi

java - 类的字段和方法的参数会干扰吗?

转载 作者:行者123 更新时间:2023-12-01 06:59:37 25 4
gpt4 key购买 nike

我有一个类,其中有一个名为“a”的字段。在类中我有一个方法,并且在该方法的参数列表中我也有“a”。那么,我会在方法内部看到哪个“a”?它将是字段还是方法的参数?

public class myClass {
private String a;
// Method which sets the value of the field "a".
public void setA(String a) {
a = a;
}
}

顺便说一句,也有类似的情况。方法有一些局部(方法)变量,其名称与字段名称一致。如果我在方法内引用这样的方法局部变量(字段或局部变量),那么该方法会“看到”什么?

最佳答案

越本地的作用域优先,因此参数a会隐藏字段a。实际上,您将参数a 的值设置为其自身。避免名称冲突(并提高可读性)的正确习惯用法是使用 this 显式标记类成员:

public void setA(String a) {
this.a = a;
}

局部变量与成员变量也是如此:局部变量隐藏同名的成员变量。

关于java - 类的字段和方法的参数会干扰吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2442531/

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