在 Java 中使用 this
关键字的最佳做法是什么?例如,我有以下类(class):
class Foo {
Bar bar;
public Foo(Bar bar) {
this.bar = bar;
}
}
这很好,但是如果我将构造函数中的语句更改为,Java 足够聪明,可以知道会发生什么
bar = bar;
那么为什么要使用 this
关键字呢? (我意识到在某些情况下,完全有必要使用它,我只是要求这样的情况)。实际上,我倾向于纯粹为了可读性而使用关键字,但常见的做法是什么?例如,在整个商店中使用它会使我的代码看起来有点困惑
boolean baz;
int someIndex = 5;
this.baz = this.bar.getSomeNumber() == this.someBarArray[this.someIndex].getSomeNumber();
显然代码很差,但它说明了我的示例。在这些情况下是否仅取决于个人喜好?
最佳答案
but Java is clever enough to know what is happening if I change the statement in the constructor to
bar = bar;
错误!它可以编译,但并没有按照您的想法执行!
至于什么时候用,很多都是个人喜好。我喜欢在我的公共(public)方法中使用 this
,即使它是不必要的,因为这是接口(interface)发生的地方,并且很高兴断言什么是我的,什么不是。
作为引用,您可以查看有关 this.subject 的 Oracle 的 Java 教程;-)
http://docs.oracle.com/javase/tutorial/java/javaOO/thiskey.html
关于Java - 何时使用 'this' 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2429062/