menu
書いてる野郎
orebike@gmail.com
クラスという名前がついているが、これはロジックをメタプログラムするような動きのために無理やり導入した例外的文法で、JavaScript とかでいう
function hoge(a){ return a(); } hoge((function(){ return 1; }));
このような実装がしたいがために生み出されたと思われる。 無名クラスはJavaでは内部クラスと似たような挙動を見せる。
hoge(new Piyo(){ public void fuga(){ //何か処理 } });
このように書く無名クラスなのにPiyoという名前がついているのは、このPiyoクラスを継承して作るという意味だ。
↑のfugaメソッド内はhogeメソッドが使われているどこかのメソッド内とはスコープがちょっと違う。