Я бачив об’єкти, створені в коді Java, не зберігаючи посилання на об'єкт. Наприклад, у плагіні затемнення я бачив SWT-оболонку, створену так:
new Shell();
Цей новий об'єкт Shell не зберігається у змінній, але залишатиметься посиланням до тих пір, поки не буде розміщено вікно, яке [я вважаю?] Відбувається за замовчуванням, коли вікно закриється.
Чи погана практика створювати подібні об’єкти, не зберігаючи посилання на них? Або бібліотека була погано оформлена? Що робити, якщо я не потребую посилання, а хочу лише "побічні ефекти" об'єкта? Чи потрібно зберігати посилання в будь-якому випадку?
ОНОВЛЕННЯ:
Звичайно, мій приклад є поганим. Хоча я бачив елементи інтерфейсу, створені таким чином, створення SWT-оболонки, подібної до цього, мабуть, буде безглуздим, оскільки вам потрібно викликати відкритий метод в екземплярі Shell. Існують кращі приклади, подані в aix, такі, як наведено нижче в навчальному посібнику з кон'юнктури Java :
(new HelloThread()).start();
Така практика спостерігається у багатьох контекстах, тому питання залишається. Це хороша практика?
Shell.createTopLevelShell()чи що завгодно, проти використання конструктора в цьому випадку. Але функціонально немає різниці.)
dispose()d: Правило 1: Якщо ви створили його, ви розпоряджаєтесь ним. eclipse.org/articles/swt-design-2/swt-design-2.html