Java: en Utilisant la même instance d'une classe dans divers autres classes
il pourrait être question stupide, mais je ne sais pas la réponse à cela et je ne sais pas où chercher la réponse, donc ce serait sympa si quelqu'un pouvait m'aider.
J'ai une classe (permet de l'appeler) avec les différents membres et des méthodes. J'utilise les méthodes de cette classe dans une autre classe (permet de nom B).
Pour tous les B-Objet créé, je veux utiliser la MÊME instance de A. Est-ce possible?
En fait, j'ai un constructeur en B où j'ai appeler A A = new A(); bien sûr, je reçois toujours des différentes instances de cette classe.
Comment puis-je changer cela? Je sais qu'il pourrait être possible de le résoudre avec le framework spring (injecter toujours le même objet dans le cas de B), mais je ne peux pas l'utiliser. Sinon, comment ce problème pourrait-il être résolu?
Merci beaucoup pour votre aide! 🙂
- Merci beaucoup pour toutes vos réponses! 🙂
Vous devez vous connecter pour publier un commentaire.
Oui, c'est possible. Vous devez définir une instance du singleton de classA qui est statique, et l'utiliser partout où vous voulez.
Il y a donc plusieurs façons de le faire:
puis n'importe où que vous pouvez faire
C'est simple, mais il peut être suffisant pour vous.
Si vous voulez vraiment utiliser le pattern singleton, regardez ici pour un exemple Java. L'avantage de cette approche est qu'elle permet de s'assurer que vous avez seulement 1 classA instance.
Élaborer sur d'autres réponses:
Puis en appel en B comme ceci:
On dirait que vous voulez être un Singleton.
Cela signifie que votre code existant devront être modifiées pour utiliser une sorte de
getInstance()
méthode, mais une fois que le changement a été fait toutes les instances de la classe B va utiliser une seule instance de la classe A.Voici un lien direct vers l': exemple le plus simple à partir du site ci-dessus.
Il suffit d'utiliser une classe statique et assurez-vous qu'il est public.
Si vous pouvez utiliser le modèle de conception singleton de partager la même instance de tous les temps, mais si vous souhaitez utiliser une même instance avec des paramètres(surcharge de constructeur)..vous ne pouvez pas utiliser SINGLETON