Anonymous Classes: class or interface : Anonymous Class « Object Oriented « SCJP

new SuperClassName(arguments) {
 // Class body

Implementing an interface

new InterfaceName() {
 // Implement interface methods

import java.awt.*;
import java.awt.event.*;

class MainClass extends Frame {
  public static void main(String[] args) {
    new MainClass();

  MainClass() {
    setLayout(new FlowLayout());
    final Button button = new Button("Click here!");
    button.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        String label = button.getLabel();
        if (label.equals("Click here!"))
          button.setLabel("Try again");
          button.setLabel("Click here!");
    addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e) {
    setSize(200, 200);

6.9.Anonymous Class
6.9.1.Create an anonymous class
6.9.2.Anonymous Class Declarations
6.9.3.You might assign the reference to the constructed object into a variable
6.9.4.Passing Anonymous Class to a method
6.9.5.Passing Arguments into the Construction of an Anonymous Inner Class
6.9.6.Anonymous Classes: class or interface
6.9.7.An instance of an anonymous (unnamed) subclass of MyClass.