Java/android 里ClassName.this和this的使用

如果在内部类里面用this就是指这个内部类的实例,而如果用OuterClassName.this就是它外面的那个类的实例

ClassName.this这个用法多用于在nested class(内部类)中,当inner class(内部类)必顺使用到outer class(外部类)的this instance(实例)时,就用OuterClassName.this

android中常用到的地方比如:

Button button = (Button)findViewById(R.id.ticket_details_sell_ticket);
button.setOnClickListener(new OnClickListener() {
  @Override
  public void onClick(View v) {
    // it will be wrong to use only "this", because it would
    // reference the just created OnClickListener object
    Intent login = new Intent(ClassName.this, Login.class);
    startActivityForResult(login, LOGIN_REQUEST);
  }
});
posted @ 2014-11-07 18:19  katago  阅读(480)  评论(0)    收藏  举报