Vous avez deux questions: quand devrais-je appeler un getInstance()
méthode, et quand dois-je créer ?
Si vous êtes de décider d'appeler un getInstance()
méthode, c'est facile. Vous avez juste besoin de lire la documentation de classe pour savoir quand vous devez l'appeler. Par exemple, NumberFormat
fournit un constructeur et un getInstance()
méthode; l' getInstance()
méthode vous donnera un localisée NumberFormat
. Pour Calendar
, d'autre part, le constructeur est protégé. Vous avez à appeler getInstance()
pour l'obtenir.
Si vous êtes de décider de créer un getInstance()
méthode, vous devez décider ce que vous essayez d'accomplir. Soit vous ne voulez les gens à appeler votre constructeur (vous êtes en train de créer un singleton ou une usine), ou vous n'avez pas l'esprit (comme en NumberFormat
- dessus, où ils sont l'initialisation de certains objets pour la commodité de l'appelant).
Longue histoire courte? Ne vous inquiétez pas au sujet de la création d' getInstance()
méthodes dans votre propre code. Si le temps se pose lorsque qu'ils peuvent être utiles, vous savez. Et en général, si vous pouvez appeler un constructeur de la classe, vous êtes probablement censé faire que, même si la classe fournit un getInstance()
méthode.