Innere statische Klasse in Java

8

Was ist der Vorteil einer inneren statischen Klasse? Wo sollte ich es gegenüber anderen Optionen bevorzugen?

Und wie ist sein Speicher zugeordnet?

    
Labeeb Panampullan 15.11.2010, 09:24
quelle

3 Antworten

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 zur äußeren Klasse gehört.

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

    
aioobe 15.11.2010, 09:25
quelle
4

Einer der zwingendsten Gründe für die Verwendung innerer Klassen ist die Komposition. 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 Abteilung Klasse als eine innere Klasse der Universität Klasse haben.

    
Sid 15.11.2010 10:41
quelle
4
  

Und wie ist sein Speicher zugeordnet?

Die einfache Antwort lautet, dass Speicher für eine innere statische Klasse genauso wie für eine nicht geschachtelte Klasse zugewiesen wird. Es gibt nichts Besonderes in diesem Fall, weder in Bezug auf Instanzen der Klassen noch auf statische Mitglieder der Klasse.

    
Stephen C 15.11.2010 11:50
quelle