匿名類別對於我現在的理解層面在於它方便靈活了對介面以及抽象類別方法的實現,如果你只需要在一個地方對某個物件實現相應的用法,那麼你就可以考慮使用匿名內部類別啦~ 。光說一定會暈的那麼我們用小例子說話:
引用
下面的例子是android給按鈕綁定事件的常用方法
Java
public class Activity1 extends Activity { OnClickListener listener1 = null; Button button1; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity1); listener1 = new OnClickListener() {//OnClickListener是一个接口 public void onClick(View v) {//onClick()方法是这个借口唯一的方法 Bundle bundle = new Bundle(); bundle.putString("store", "数据来自Activity1"); Intent mIntent = new Intent(); mIntent.putExtras(bundle); setResult(RESULT_OK, mIntent); finish(); } }; button1 = (Button) findViewById(R.id.button3); button1.setOnClickListener(listener1); ... ... ...(还有代码在下面~)
在給幾個小例子:
Java程式碼
package com.eoeAndroid.activity; interface OnClickListener{ void onClick(String s); } public class testListener { public static void main(String... strings){ OnClickListener listener = new OnClickListener(){ @Override public void onClick(String s) { // TODO Auto-generated method stub System.out.println(s); } }; listener.onClick("OK!"); } }
這個程式碼相當於將OnClickListener介面實作後引用,就好比如下程式碼: rr