【Java・疑問】コールバックはインターフェースか無名クラスのどちらにするか?

投稿者: | 2011年2月7日

Javaのプログラムでコールバックを書くとき、インターフェースを継承するか、
無名クラスを使うか、どちらのやり方が優れているのか、疑問に思っている。
たとえば、Androidのプログラムでボタンが押されたときに反応する処理を書きたいとき、
インターフェースを継承するならば、

class MyClass implements OnClickListener{
    public void onClick(View v) {
        // ボタンが押されたときの処理
    }
}

のような感じになり、無名クラスを使うときは

class MyClass {
   @Override
   protected void onCreate(Bundle icicle) {
        super.onCreate(icicle);

         Button button;

          // ボタンを取得する処理・・・(省略)

          button.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                // ボタンが押されたときの処理
            }
        });
    }
}

という感じになり、どちらもできることに変わりはないのだが
パフォーマンス的な違いとかあるのだろうか?
個人的には後者の無名クラスを使った書き方の方が好きだが・・・。

【Java・疑問】コールバックはインターフェースか無名クラスのどちらにするか?」への1件のフィードバック

  1. ピンバック: 【Java】イベントリスナの書き方についての考察 – ザワプロ!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です