アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。
現在、Javaについて勉強しておりまして一つ不明な点があり投稿させていただきました。
まずはソースをご覧ください。

----------------------------------------------------------------------------------------------
button.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
Intent intent = new Intent(Main.this, Editor.class);
TextView textView = (TextView)findViewById(R.id.TextView01);
CharSequence text = textView.getText();
intent.putExtra("TEXT", text + "000");
startActivityForResult(intent, SHOW_EDITOR);
}

});

----------------------------------------------------------------------------------------------

上記はサンプルプログラムから一部抜粋したものですが
button.setOnClickListenerの引数でnew演算子を使用しており、
尚かつonClickメソッドをオーバーライドして定義しています。
C++開発経験者の私としては非常に見づらいのですが、こんな書き方って結構使うんでしょうか?
これがイマイチ理解できていません。

この書き方をネットで探しても見つからなかったため、こちらでご質問させていただきました。
どなたかご教授願います。

A 回答 (2件)

無名クラスですね。

関数オブジェクトを直接扱えないので仕方無い。
見難ければ、普通に class ShowEditor implements OnClickListener とかして
new ShowEditor() を渡せばよい。

あるいは Scala に移行するとか。
    • good
    • 0

無名クラスですな。



その記述は、GUI系等でよく利用されていますね。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!