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 |