無名クラス(匿名クラス)

xxx.setOnClickListener(new View.OnClickLister() {
	public void onClick(View v) {
		// クリック時の処理
	}
} );

Java言語のソースコードを見て「えっ」と思ったことの一つに、引数の中でクラス定義をすることがある。
View.OnClickListerはインタフェースなのにnewできるの?って思ったけど、インタフェースを実装した無名のオブジェクトをnewするということみたい。
「無名クラス(または匿名クラス)」で検索したら解説サイトがたくさんあった。
たぶん半年ぐらい前にも同じようなことをblogに書いたような気がする…。