The Java gurunaths (natha नाथ = sanskrit for deity-master-protector) at Sun should condescend to accept the necessity of delegates and draft it into Java spec.
In C#, I can pass a method as a handler referenced as a delegate, without needing to go thro the trouble of creating a class just because I need to pass a method in Java.
What are the reasons that make it unnecessary (besides citing the clunky use of a brand new class for the purpose) or disadvantageous that Sun decided not to have it in Java? What advantages does creating a class or implementing interfaces anonymously have over delegates? I can't think of any, can you?
解决方案
Here is Tom Ball's account for Microsoft proposal to add them to Java and why Sun rejected them.
IMO, Java should have had closures twelve years back. Gilad Bracha argued for closures and no one listened. In his own words:
I personally argued for adding closures since 1997/98. My blood
pressure still rises measurably when I recall the response I got
at the time: "Our customers aren't asking for it, so why add it?".
Sad, but true.