Begriffe und Leitfragen

Fragen

  • Wie können Klassen in Klassen aufgenommen werden?
  • Wie kann ich „mal eben“ eine Klasse und ein Objekt davon erzeugen?
  • Wie kann ich Methoden herumreichen?

Begriffe

Alle Java-Quellen zu diesem Kapitel finden sich auf Gitty.

Überblick

Statisch geschachtelter Typ

class Outer {
    static class Inner {}
}

Ein Typ, innerhalb einer anderen Klasse, die mit dem Schlüsselwort static gekennzeichnet ist.

Innerer Typ / nicht-statisch

class Outer {
    class Inner {}
}

Ein Typ, innerhalb einer anderen Klasse, ohne das Schlüsselwort static.

Lokaler Typ

class Outer {
    void m() {
        class Inner {}
    }
}

Ein Typ innerhalb einer Methode.

Anonyme innere Klasse

class Outer {
    void m() {
        Runnable r = new Runnable() {
            public void run() {}
        };
    }
}

Eine unbenannte Klasse, innerhalb einer Methode, die von einer anderen, benannten Klasse, abgeleitet ist.

Lambda

class Outer {
    void m() {
        Runnable r = () -> {};
    }
}

Eine spezielle Konstruktion, die eine „freischwebende“ Methode erlaubt.


Copyright © 2025 Thomas Smits