我只是好奇使用this,因为Android的示例代码和文档没有使用this关键字(我喜欢相信android工程师一般都很聪明,因此我用它们作为基础).我只是对Android工程师没有this太多使用的根本原因感到好奇.
它主要是风格上的差异.我还没有看到为什么它的好坏.我个人喜欢使用它,当你需要使用它时,有一些实例.
例如,如果您有一个Anonymous Inner类,它想要调用您需要的父类的方法this.例:
class MyClass{
protected void doSomething(){
}
OnClickListener n = new OnClickListener(){
public void onClick(View v){
MyClass.this.doSomething();
}
};
}
Run Code Online (Sandbox Code Playgroud)
使用的另一个原因this是方法参数掩盖了成员变量.在这种情况下,你可以this用来区分这两者,虽然我建议你将参数重命名为非掩盖的东西.
class MyClass{
protected int val;
public void setVal(int val){
this.val = val; // set the member variable equal to the method argument
}
}
Run Code Online (Sandbox Code Playgroud)
使用的另一个原因this是从该实例中传递指向当前类实例的指针.一个例子是当你创建一个新的Intent
Intent i = new Intent(this, NewActivity.class);
Run Code Online (Sandbox Code Playgroud)
您可能需要使用更多地方this.这是我想到的最初几个.