Ho visto oggetti creati nel codice Java senza memorizzare un riferimento all'oggetto. Ad esempio, in un plugin di eclissi ho visto una shell SWT creata in questo modo:
new Shell();
Questo nuovo oggetto Shell non è memorizzato in una variabile, ma rimarrà referenziato fino a quando la finestra non viene eliminata e [Credo che?] avvenga automaticamente quando la finestra è chiusa.
È una cattiva pratica creare oggetti come questo senza memorizzare un riferimento ad essi? O la biblioteca era mal progettata? Cosa succede se non ho bisogno di un riferimento, ma voglio solo gli "effetti collaterali" dell'oggetto? Devo comunque memorizzare un riferimento?
UPDATE:
Ammetto che il mio esempio precedente è scadente. Mentre ho visto elementi dell'interfaccia utente creati in questo modo, la creazione di una shell SWT come questa sarebbe probabilmente inutile perché è necessario chiamare il metodo aperto nell'istanza di Shell. Ci sono esempi migliori forniti da aix come il seguente da Tutorial sulla concorrenza di Java :
(new HelloThread()).start();
Questa pratica è vista in molti contesti, quindi le domande rimangono. È una buona pratica?