ClassName.this beyond disambiguation 的目的是什么?
我已经看到SO和其他地方的许多Android代码(而不是简单的关键字)用于引用类的当前实例。我知道你可能会决定用类名来开头,以消除歧义,但根据我的经验,这样做通常是不必要的,因为实际上只能有一件事 - 代码正在执行的类的当前实例。我是否忽略了其他一些东西,表明在关键字前面加上类名总是更好的做法,或者是否有任何情况实际上是必要的?ClassName.this
this
this
this
this
我已经看到SO和其他地方的许多Android代码(而不是简单的关键字)用于引用类的当前实例。我知道你可能会决定用类名来开头,以消除歧义,但根据我的经验,这样做通常是不必要的,因为实际上只能有一件事 - 代码正在执行的类的当前实例。我是否忽略了其他一些东西,表明在关键字前面加上类名总是更好的做法,或者是否有任何情况实际上是必要的?ClassName.this
this
this
this
this
这真的只能有一件事。
这是不正确的。
我是否忽略了其他一些东西,表明在this关键字前面加上类名总是更好的做法,或者是否有任何情况是必要的?
分别是和是。特别是,需要从内部类获得 的外部类实例。ClassName.this
this
例如:
myButton.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
startActivity(new Intent(MyActivity.this, MyOtherActivity.class));
}
});
在这里,使用而不是 will 会失败,并出现编译错误,抱怨这不是构造函数的有效第一个参数。 返回 that 是包含该实例的实例。this
MyActivity.this
Button.OnClickListener
Intent
MyActivity.this
this
MyActivity
Button.OnClickListener