2016-05-09 9 views
-1

Welchen Umfang hat eine innere Klasse Singleton in Java? Ich möchte eine Klasse mit einer Singleton-ähnlichen Klasse innerhalb, , aber jede Instanz der äußeren Klasse sollte eine eigene Instanz der inneren Klasse haben. (Ich weiß, es ist keine gute Art von Code, aber ich muss alles in einer Klasse für diese Einrichtung packen.) Vielen Dank im Voraus!Welchen Umfang hat eine innere Klasse Singleton in Java?

+1

Dann ist es kein Singleton. Das ist keine schlechte Idee. Kein Grund für Singletons. – duffymo

+0

Das hört sich nach einer schlechten Idee an, die von einem schlechten Design herrührt. Vielleicht trittst du eine Sekunde zurück und versuchst, andere Wege zu finden, um das ** echte ** Problem zu lösen, das du lösen willst. Und zwar genau: das ist ** nicht ** über schlechten Code ** Style **, es geht um schlechtes ** Design **. – GhostCat

Antwort

1

Wenn Sie die innere Klasse als privat deklarieren und bei jedem Erstellen der äußeren Klasse eine Instanz erstellen, haben Sie für jede Instanz der äußeren Klasse eine einzelne Instanz der inneren Klasse.

Dies ist nicht das Singleton-Muster.

So ähnlich.

public class MyOuter { 
    private MyOuter.MyInner inner; 

    public MyOuter() { 
     inner = new MyOuter.MyInner(); 
    } 

    ... 

    private static class MyInner { 
     .... 
    } 
}