Sie haben zwei Fragen: Wann soll ich eine Methode aufrufengetInstance() und wann soll ich eine erstellen ?
Wenn Sie sich entscheiden, ob Sie eine getInstance()Methode aufrufen möchten, ist dies ganz einfach. Sie müssen nur die Klassendokumentation lesen, um herauszufinden, wann Sie sie aufrufen sollten. Zum Beispiel NumberFormatbietet einen Konstruktor und ein getInstance()Verfahren; Die getInstance()Methode gibt Ihnen eine lokalisierte NumberFormat. Für Calendar, auf der anderen Seite wird der Konstruktor geschützt. Du musst anrufengetInstance() , um einen zu bekommen.
Wenn Sie entscheiden, ob Sie eine getInstance()Methode erstellen möchten, müssen Sie entscheiden, was Sie erreichen möchten. Entweder möchten Sie nicht, dass Benutzer Ihren Konstruktor aufrufen (Sie erstellen einen Singleton oder eine Factory ), oder es macht Ihnen nichts aus (wie NumberFormatoben, wo sie einige Objekte für den Aufrufer initialisieren).
Um es kurz zu machen? Machen Sie sich keine Sorgen, wenn Sie getInstance()Methoden in Ihrem eigenen Code erstellen. Wenn sich die Zeit ergibt, in der sie nützlich sein werden, wissen Sie Bescheid. Und wenn Sie im Allgemeinen den Konstruktor einer Klasse aufrufen können , sollten Sie dies wahrscheinlich tun, selbst wenn die Klasse eine getInstance()Methode bereitstellt .