为什么我们不使用这个'在吸气剂?

时间:2017-09-06 10:18:09

标签: java oop object

例如,假设我们有一个名为car的对象,它是Cars类的一部分,它具有color属性。假设我们有一个颜色的吸气剂:

public String getColor(){
  return color;
}

但不应该是this.color吗?如果没有,为什么?

3 个答案:

答案 0 :(得分:3)

您在此处隐式使用this。当你离开"你访问的对象"一个字段或调用一个方法......然后就像说this.fieldthis.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来更容易区分这两种类型的变量。