在Java中使用`this`是不好的做法吗?

ces*_*sar 4 java this

我只是好奇使用this,因为Android的示例代码和文档没有使用this关键字(我喜欢相信android工程师一般都很聪明,因此我用它们作为基础).我只是对Android工程师没有this太多使用的根本原因感到好奇.

sla*_*ton 7

它主要是风格上的差异.我还没有看到为什么它的好坏.我个人喜欢使用它,当你需要使用它时,有一些实例.

例如,如果您有一个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.这是我想到的最初几个.