例如,假设我们有一个名为car
的对象,它是Cars
类的一部分,它具有color
属性。假设我们有一个颜色的吸气剂:
public String getColor(){
return color;
}
但不应该是this.color
吗?如果没有,为什么?
答案 0 :(得分:3)
您在此处隐式使用this
。当你离开"你访问的对象"一个字段或调用一个方法......然后就像说this.field
或this.foo()
一样。当然,除非您使用的名称是指局部变量。所以,准确地说:当你有代码如
void setter(Whatever foo) {
this.foo = foo;
然后你当然 使用this
来区分字段 foo和 shadowing的本地变量foo 那个领域。
任何有经验的Java程序员都知道这一点。因此,最好不要在此处写下this
。请记住:您编写代码以便 human 读者了解正在发生的事情。编译器和IDE可以使用这个......或者不使用它。但是对于你的人类读者来说,当你在这里省略这个关键词时,它只是意味着要处理一些 的信息。
这就是这个的全部内容。
答案 1 :(得分:2)
'这'始终代表当前对象。所以,如果你这样说。它就像简单地说“颜色”一样令人兴奋。你并不意味着你应该:)
答案 2 :(得分:1)
这是多余的。通常,只有在方法的签名中具有相同名称的参数时,才使用this.something
。经典的例子是构造函数:
public MyClass(String val1, String val2) {
this.val1 = val1;
this.val2 = val2;
}
过去,当IDE中没有包含成员和局部变量的不同表示的语法突出显示时,它经常被使用。然后使用this
来更容易区分这两种类型的变量。