J'ai vu des objets créés en code Java sans stocker une référence à l'objet. Par exemple, dans un plugin Eclipse, j'ai vu un SWT Shell créé comme suit:
new Shell();
Ce nouvel objet Shell n'est pas stocké dans une variable, mais restera référencé jusqu'à ce que la fenêtre soit supprimée, ce qui [je crois?] Se produit par défaut lorsque la fenêtre est fermée.
Est-ce une mauvaise pratique de créer des objets comme celui-ci sans y stocker une référence? Ou la bibliothèque était-elle mal conçue? Et si je n'ai pas besoin d'une référence, mais que je veux seulement les "effets secondaires" de l'objet? Dois-je quand même enregistrer une référence?
MISE À JOUR:
Certes, mon exemple ci-dessus est pauvre. Bien que j'aie vu des éléments d'interface utilisateur créés comme celui-ci, la création d'un shell SWT comme celui-ci serait probablement inutile car vous devez appeler la méthode open sur l'instance Shell. Il y a de meilleurs exemples fournis par aix tels que les suivants du tutoriel de concurrence Java :
(new HelloThread()).start();
Cette pratique est observée dans de nombreux contextes, de sorte que les questions demeurent. Est-ce une bonne pratique?
Shell.createTopLevelShell()
ou quoi que ce soit, par rapport à l'utilisation d'un constructeur dans ce cas. Mais fonctionnellement il y a peu de différence.)
dispose()
d: Règle 1: Si vous les avez créés, vous les supprimez. eclipse.org/articles/swt-design-2/swt-design-2.html