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");
        else
          button.setLabel("Click here!");
      }
    });
    add(button);
    addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e) {
        System.exit(0);
      }
    });
    pack();
    setSize(200, 200);
    show();
  }
}








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.