Dan*_*edo 10 java oop coding-style
我一直想知道的事情; 在一个类中,你可以通过使用'this.[NAME]'或简单地[NAME]来引用一个成员,这是首选?
例如在Java中:
public class foo {
public int bars = 0;
private void incrementBars(){
bars++;
}
}
Run Code Online (Sandbox Code Playgroud)
和
public class foo {
public int bars = 0;
private void incrementBars(){
this.bars++;
}
}
Run Code Online (Sandbox Code Playgroud)
"似乎"具有相同的效果.
在我实例化类foo的多个实例的情况下,到目前为止,我做了类似的事情:
for (foo f : listOfFoos){
f.incrementBars();
}
Run Code Online (Sandbox Code Playgroud)
它似乎仍然有效.
它在技术上是不明确的,如果是这样,有一种首选方式吗?
Jig*_*shi 15
用this
在的情况下variable shadowing
.
class MyClass{
int i;//1
public void myMethod(){
i = 10;//referring to 1
}
public void myMethod(int i){//2
i = 10;//referring to 2
this.i = 10 //refering to 1
}
}
Run Code Online (Sandbox Code Playgroud)
this
由于我们的英语思维方式,有时也会使代码更具可读性
没有歧义.如果有,你必须使用this
.
有些人建议this
清楚.其他人建议在不需要时反对它,因为它引入了"噪音".为清晰起见,一些现代IDE或编辑器可能能够使用语法突出显示以不同于字段的颜色(例如)参数.
就个人而言,我可以避免this
使用@ unholysampler的下划线约定.与您的同事达成协议并将其纳入您的编码标准.