Ich habe eine Reihe von Singleton-Klassen und möchte den Standardcode vermeiden. Hier ist, was ich jetzt habe:
%Vor% Das funktioniert und es ist nichts falsch daran, außer dass ich viele Unterklassen von Mammal
habe, die die Methode getInstance()
replizieren müssen. Ich würde so etwas wie möglich bevorzugen:
Wie mache ich das?
Sie können nicht, da Konstruktoren weder vererbt noch überschrieben werden können. Die new Mammal()
in Ihrem gewünschten Beispiel erstellt nur eine Mammal
, nicht eine ihrer Unterklassen. Ich schlage vor, du schaust dir das Factory-Muster an oder gehst zu etwas wie Spring, das genau für diese Situation bestimmt ist.
Machen Sie Ihren Konstruktor privat. Dies verhindert, dass Ihre Klasse von anderen Klassen geerbt wird.
Oder der beste Weg, um ein Singleton zu erstellen, besteht darin, dass Sie Ihrer Klasse eine Enumeration mit einer Enumeration erstellen (Josh Block)
Tags und Links java inheritance singleton code-formatting