wenn eine Klasse nur dazu dient, ihre einzige Methode zu kapseln, dann kann sie anonym sein.
Ihre Definition erfolgt im Konstruktor-Aufruf, unter Angabe der Schnittstelle:
interface Function { int call (int x); }
...
System.out.println
(compute (new Function () {
public int call(int x) { return x*x*x; }
}, 3));
...in C# gibt es dafür Delegates und Lambda-Ausdrücke
(endlich! in der Mathematik seit spätestens 1940 ...)