Saya telah melihat objek yang dibuat dalam kode Java tanpa menyimpan referensi ke objek. Misalnya, dalam plugin gerhana saya telah melihat Shell SWT dibuat seperti:
new Shell();
Objek Shell baru ini tidak disimpan dalam variabel, tetapi akan tetap direferensikan sampai jendela dibuang yang [saya percaya?] Terjadi secara default ketika jendela ditutup.
Apakah praktik yang buruk untuk membuat objek seperti ini tanpa menyimpan referensi kepada mereka? Atau perpustakaan itu dirancang dengan buruk? Bagaimana jika saya tidak memerlukan referensi, tetapi hanya menginginkan "efek samping" dari objek? Haruskah saya menyimpan referensi?
MEMPERBARUI:
Diakui, contoh saya di atas buruk. Walaupun saya telah melihat elemen UI dibuat seperti ini, membuat SWT Shell seperti ini mungkin tidak ada gunanya karena Anda perlu memanggil metode terbuka pada instance Shell. Ada contoh yang lebih baik yang disediakan oleh aix seperti berikut dari tutorial concurrency Java :
(new HelloThread()).start();
Praktek ini terlihat dalam banyak konteks, jadi pertanyaannya tetap. Apakah ini praktik yang baik?
Shell.createTopLevelShell()
atau apa pun, vs menggunakan konstruktor dalam kasus ini. Tetapi secara fungsional ada sedikit perbedaan.)
dispose()
d: Aturan 1: Jika Anda membuatnya, Anda membuangnya. eclipse.org/articles/swt-design-2/swt-design-2.html