今天中午趁休息时间玩了玩android发现这样的一段代码

package com.lidongbo;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;public class MyActivity extends BaseActivity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        Button button=(Button)findViewById(R.id.Button01);        button.setOnClickListener(backOnClickListener);    }        private Button.OnClickListener backOnClickListener=new Button.OnClickListener() {    public void onClick(View v) {    MyActivity.this.setResult(RESULT_OK, intent);MyActivity.this.finish();}    };}



从以上代码中可见MyActivity.this的用法,平时一直搞J2EE也没注意过这种写法,来了兴趣,网上找了找,没找到有用的信息(和目前搜索引擎和自己描述有关),自己尝试豁然晓得了,写个例子总结下


上班时间时间紧举不出什么好的例子来




package lidongbo.test;public class Water {public void wash(){}public void run(){System.out.println("Water run");}public static void byDrink (People man){//...}}





package lidongbo.test;public class People {public void talk(){System.out.println("talk");}public void run(){System.out.println("People run");}public void drink(){People.this.talk();new Water(){void play(){talk();//默认得到全部的(包括Water和People的)this.wash();//直接this.只得到WaterPeople.this.talk();byDrink(People.this);//默认得到全部但是需要传递People引用,就要使用People.thisrun();this.run();People.this.run();//如果想调用People的run方法,就要用People.this}}.play();}public static void main(String[] args) {People man=new People();man.drink();}}




在People.eat()里面如果不用People.this那么得到this指向的是匿名的Water,这样就可以区分两个不通的this,和两个实例下的同名方法了

更多相关文章

  1. android 利用重力感应监测手机摇晃,做出相应反应
  2. android 和JS互调
  3. java.lang.ClassCastException: com.google.gson.internal.Linke
  4. 【Android(安卓)Native Code开发系列】三 Android源码的编译环境
  5. Android(安卓)Studio 2.0 正式版发布啦 (首次中文翻译)
  6. android 学习使用Activity转场动画及shareElement
  7. android webview 遇到android.os.FileUriExposedException错误
  8. Android的源代码下载教程
  9. android第一行代码实战篇——一个小错误

随机推荐

  1. [Android]Awind.inc系列android软件破解
  2. Android 问题汇总
  3. 自动换行
  4. Android 代码改变图片颜色android:tint="
  5. Android中让View匀速旋转
  6. Android 底部导航栏中间凸起、越界显示
  7. Android 默认水波纹的使用和去除
  8. android开发之android:padding和android:
  9. EditText 文字验证
  10. Windows下git下载android source