gpt4 book ai didi

java - 这两种方法有什么区别?

转载 作者:行者123 更新时间:2023-12-05 00:37:55 27 4
gpt4 key购买 nike

方法一:

public void setAge(int newAge){
age = newAge;
}

方法2

public void setAge (int age){
this.age = age;
}

最佳答案

在这两种情况下,都必须假设对象有一个名为 age 的字段。

第二个版本

在第二个中,还有一个名为age 的参数。由于参数 age 与字段 age 同名,因此它“隐藏”该字段。因此,在第二个版本中,您看到的任何地方 age 都指的是参数,而不是字段。

由于该字段是隐藏的,您需要一种方法来访问它。您仍然可以通过使用 this 引用来获取它。 this 指的是“this”对象,this.age 访问的是字段而不是参数。所以字段 this.age 被设置为参数 age

第一版

第一个版本只是通过使用不同的参数名称来避免这种歧义,这样字段不会被隐藏,所以它仍然将字段 age 设置为参数但是 不需要 this. 前缀

关于java - 这两种方法有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45244296/

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