| Java™ und Objektorientierung | |
| Java/OO |  Druckversion | 
Hier werde ich beispielhaft die Inneren Klassen in Java auflisten.
| import java.awt.event.*;
public class ClassWithInnerClasses {
  int x;
  static int s; | |
|   static class StaticMemberClass {
    void method() {
      s = 4;
      // x = 5;
    }
  } | Statische innere Klassen haben keinen Zugriff auf (Objekt-)Attribute. Die Variabel x ist hier also nicht sichtbar. | 
|   class MemberClass {
    void method() {
      s = 4;
      x = 5;
    }
  } | Nicht statische innere Klassen haben Zugriff auf statische Variablen und auf (Objekt-)Attribute. | 
|   void method(int i, final int f) {
     int m;
     final int fin = 4; | |
|     class LocalClass {
     void method() {
       x = 4;
       s = 5;
       // System.out.println(i + " " + m); 
       System.out.println(f + " " + fin);
     }
   } | Lokale Klassen haben Zugriff wie innere Klassen mit dem Zusatz, dass sie
finale Variablen der umliegenden Methode verwenden dürfen. Die lokalen Variablen i und m sind hier also nicht verwendbar! | 
|     Object refAufAnonymeKlasse = new WindowAdapter() {
      public void WindowClosing(WindowEvent we) {
        System.exit(0);
      }
    }; | Lokale anonyme Klassen haben Zugriff wie andere lokale Klassen. | 
| } // end method() } // end class |