您的位置:首页 > 移动开发 > Android开发

Android中类名.this和this的区别(容易混淆)

2015-06-02 22:08 330 查看
在一个类的内部使用this表示当前对象的引用,然而有时类的方法内部还有类的定义需要使用外部类的方法时就需要使用this对象,此时this只是内部使用类的对象,在内部类方法定义的类中如何引用外部类此时就要用到类名.this方法。类名.this表示外部类的实例。这样说有点抽象,看下面的例子:

public classMainActivity extends Activity {

int count=0;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//获取屏幕中的按钮控件对象

Button button=(Button)findViewById(R.id.Button01);

//为按钮添加OnClickListener接口实现

button.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

//获取线性布局对象

LinearLayout ll=(LinearLayout)findViewById(R.id.lla);

String msg=MainActivity.this.getResources().getString(R.string.button);

//创建一个Button对象

Button tempbutton=new Button(MainActivity.this);

//设置Button控件显示的内容

tempbutton.setText(msg+(++count));

}

});

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

}

MainActivity是一个外部类,View.OnClickListener是一个内部类,在内部类中使用外部类方法需要使用外部类名.this引用外部类的实例。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: