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. }
也可以使用匿名内部类