1
JavaIntermediate#inner-classes
They let you instantiate a class or implement an interface with a one-off implementation inline, without a separate named class file, commonly used before lambdas for event handlers or Runnables.
Runnable r = new Runnable() {
@Override public void run() { System.out.println("running anonymously"); }
};
r.run();