java - 在java中哪里使用 "this"?

标签 java this getter-setter

<分区>

据我所知,这用于以下情况:

  1. this 关键字用于引用与局部变量同名的实例变量。
  2. 将一个构造函数调用给同一类中的其他构造函数。
  3. 将类实例作为参数传递给方法。
  4. 访问外部类变量。

但是我已经检查了我的项目代码,他们在 getter 中使用了它,例如:

class a {
    int time;

    int getValue() {
        return this.time * 5.;
    }
}

据我所知,每个对象都有自己的实例变量和方法副本,因此以这种方式返回是有意义的。 请澄清。

提到的 Stackoverfow 问题:When should I use "this" in a class?

最佳答案

很多人(我也是其中之一)使用 this 关键字,即使不是明确需要它也是如此。

  • 有些人发现将 this 放在属于同一类的任何东西前面更清楚,同样的逻辑适用于 super
  • 有些人总是反射性地使用 this 以在某些 IDE 中更好地自动完成(弹出窗口自动出现,懒惰的程序员)。

这些观点主要是基于意见,并不重要。

对于其他用途,正如您提到的,它可用于将参数传递给另一个构造函数,传递类实例或在您有两个同名变量时进行区分。

但是,IMO,不让多个变量同名会更简单。

关于java - 在java中哪里使用 "this"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30489539/

相关文章:

java - 使用 jackson 映射时如何适本地覆盖 equals(Object o)

javascript - 如何在回调中访问正确的“this”?

c++ - 错误的模板参数数量(3,应该是 4)

java - 基于给定权重 vector 的随机选择问题

java - 安卓版的nanosleep?

javascript - 为什么将 $(this) 分配给 var

javascript - 向导致 attr 的 HTML 元素添加属性不是函数

c++ - setter/getter 的最佳实践

c#设置私有(private)变量的值

java - 错误: not found: java Usage: selenium-standalone action [options]