Java non tratta i pacchetti come veramente sottoclasse l'un l'altro; mentre java.util
e java.util.concurrency
potrebbero sembrare che il secondo è in qualche modo parte del primo, sono considerati completamente indipendenti e il punto è principalmente lì per la pulizia.
Ciò significa che non devi aver paura di nominare la tua classe o l'interfaccia come un'altra dichiarata in qualche super-pacchetto o sotto-pacchetto in un secondo momento, e significa anche che dovresti scrivere solo una coppia linee extra di importazioni.
Le ragioni di questa decisione, come ha spiegato Peter Lawrey, derivano dalla generale inclinazione di Java verso la semplicità. La migliore pratica è spesso quella di non utilizzare mai i caratteri jolly di importazione.
Non uso nemmeno un singolo strato di pacchetto. * Se sono onesto, questo è il modo in cui il mio IDE li inserisce, ma rende dove le classi provenivano da più chiare –