在java中,匿名内部类为什么不用使用"外部类名.this",就可以调用外部类的方法?
这是一段简单的android代码
public class MainActivity extends Activity {
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button)findViewById(R.id.btn);
//此处声明一个匿名内部类
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(MainActivity.this,Second.class);
//在此处,startAtivity()是Activity的方法
//这么写是对的 MainActivity.this.startActivity(intent);
//为什么也可以不加MainActivity.this 这样调用?
startActivity(intent);
}
});
}
慕村225694
相关分类