2010-11-15 12 views
8

Welchen Vorteil hat die Verwendung einer inneren statischen Klasse? Wo sollte ich es anderen Optionen vorziehen?Innere statische Klasse in Java

Und wie ist sein Speicher zugeordnet?

+0

mögliche Duplikate von [Statisch geschachtelte Klasse in Java, warum?] (Http://stackoverflow.com/questions/253492/static-nested-class-in-java-why) –

Antwort

6

Wenn die innere Klasse statisch ist, benötigen Sie keine Instanz der äußeren Klasse, um sie zu instanziieren.

Wenn die innere Klasse öffentlich ist, handelt es sich im Grunde nur um eine Methode zur Namensbestimmung, um die Tatsache hervorzuheben, dass die Klasse der äußeren Klasse "angehört".

Wenn Sie die innere Klasse jedoch privat machen, kann sie nicht außerhalb dieser Klasse verwendet werden.

4

Einer der überzeugendsten Gründe für die Verwendung innerer Klassen ist die Zusammensetzung. Im Falle einer Zusammensetzung dient die Existenz einer Einheit ausschließlich dem Zweck ihrer höheren Einheit. Zum Beispiel eine Universität. Eine Universität besteht aus Abteilungen. Die Abteilungen haben keine individuelle Existenz außerhalb der Universität. Außerdem sollte der Zugang zu den Abteilungen von der Universität kontrolliert werden. In diesem Fall können wir die Abteilungsklasse als eine innere Klasse der Universitätsklasse haben.

4

Und wie ist sein Speicher zugeordnet?

Die einfache Antwort ist, dass Speicher für eine innere statische Klasse auf die gleiche Weise wie für eine nicht geschachtelte Klasse zugeordnet ist. Es gibt nichts Besonderes in diesem Fall, weder in Bezug auf Instanzen der Klassen noch auf statische Mitglieder der Klasse.

Verwandte Themen