【发布时间】:2017-12-13 14:39:45
【问题描述】:
我正在自学Java。我读了这段代码,我需要一个解释。
为什么在这段代码(复制自https://www.javatpoint.com/aggregation-in-java)中使用了this?
不等于在方法中有不同的局部变量名比如:
public Address(String i, String j, String k) 而只是使用city=i 代替?
这里有使用this.city=city 的理由吗?
谢谢。
public class Address {
String city,state,country;
public Address(String city, String state, String country) {
this.city = city;
this.state = state;
this.country = country;
}
}
其实我会把代码写成:
public class Address
{
String city,state,country;
public Address(String tempCity, String tempState, String tempCountry) {
mycity = tempCity;
state = tempState;
country = tempCountry;
}
}
与第一个版本相比,第二个版本的优点和缺点是什么?
【问题讨论】:
-
这不是关于使用“this”,因此不是重复,而是当你有替代方案时更多的最佳实践。我个人认为没有理由在这里使用“this”和重复的变量名。
-
我想说这个问题的一半或三分之一与其中一个答案的一小部分重叠。这不是明确的 1 对 1 重复
-
如果一个问题确实是重复的或离题的,它仍然留给密切的选民。只要问题是开放的,并且如果您个人认为它不是重复或离题或任何此类问题,那么您应该回答这个问题。在很多情况下,只有一些人认为它是重复的/OT(不足以关闭),在这种情况下,欢迎回答。虽然我不喜欢否决对坏问题的好答案,但你当然应该等到收盘被接受。
标签: java constructor this