General Types of Classes
 | top-level |
 | inner(nested) classes
 | anonymous - class without a name associated inside
another class |
 | named - class with a name associated inside another
class |
 | static - class with a name associated with container
class |
|
TopLevelClass.java
import java.awt.Frame;
import java.awt.Window;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class TopLevelClass extends Frame { //Top Level Class
public static class AppListener extends WindowAdapter { //Static Inner Class
public void windowClosing(WindowEvent e) {
((Window)e.getSource()).dispose();
System.out.println("StaticInnerClass");
}
public void windowClosed(WindowEvent e) {
System.exit(0);
}
}
public TopLevelClass() {
System.out.println("TopLevelClass");
class PrivateDataType { //Named Inner Class
public PrivateDataType() {
System.out.println("NamedInnerClass");
}
};
PrivateDataType test = new PrivateDataType();
addWindowListener(new WindowAdapter() { //Anonymous Inner Class
public void windowClosing(WindowEvent e) {
((Window)e.getSource()).dispose();
System.out.println("AnonymousInnerClass");
}
public void windowClosed(WindowEvent e) {
System.exit(0);
}
});
addWindowListener(new AppListener());
}
public static void main(String[] args) {
TopLevelClass test = new TopLevelClass();
test.show();
}
}
|