匿名内部类

来源:互联网 发布:梦想破灭 知乎 编辑:程序博客网 时间:2024/06/03 08:37

1,通过实现接口或继承父类来创建匿名内部类,匿名内部类不能是抽象类,所以匿名内部类必须实现所有方法。

2,通过实现接口创建匿名内部类,因为接口不能包含自己创建的构造器,所以构造器中不能带参数。

 

以上匿名内部类相当于:

 

 

这样就容易理解android中的:

 public class MyActivity extends Activity {      protected void onCreate(Bundle icicle) {          super.onCreate(icicle);           setContentView(R.layout.content_layout_id);           final Button button = (Button) findViewById(R.id.button_id);          button.setOnClickListener(new View.OnClickListener() {              public void onClick(View v) {                  // Perform action on click              }          });      }  }

上面的代码中 OnClickListener() 是View类内的内部接口,所以要通过View.OnClickListener来调用!当需要实现OnClickListener这个接口的时候,可以用这种方式:

class CalculateListener implements OnClickListener {   2.  public void onClick(View v){   3.   //取得两个EditText的值   4.   String factorOneStr=factorOne.getText().toString();   5.   String factorTwoStr=factorTwo.getText().toString();   6.   //将这个两个值存放到intent对象当中   7.   Intent intent=new Intent();   8.   intent.putExtra("one", factorOneStr);   9.   intent.putExtra("two", factorTwoStr);   10.   intent.setClass(Activity01.this,Activity02.class);   11.   //使用这个intent启动Activity02   12.   Activity01.this.startActivity(intent);   13.  }  

也可以使用匿名内部类

 

原创粉丝点击