Java est très précis dans sa mise en œuvre. Cela ne laisse pas vraiment de place au fudging.
Si tout le monde utilisait le même paquetage, ils devraient trouver un moyen "mondial" pour s'assurer qu'aucun nom de classe ne soit entré en collision.
Cela permet à chaque classe jamais écrite d'entrer dans son propre "lieu" que vous n'avez pas à regarder si vous ne le souhaitez pas.
Vous pouvez avoir différents objets "Point" définis à 4 endroits différents sur votre système, mais votre classe utilisera seulement celle que vous attendez (parce que vous l'importez). La façon dont ils s'assurent que tout le monde a son propre espace est d'utiliser votre domaine inverse, donc le mien est "tv.kress.bill". Je possède ce domaine - En fait, je le partage avec mon frère "tv.kress.doug" et même si nous partageons le même domaine, nous ne pouvons pas avoir une collision.
Si une centaine de divisions de votre entreprise se développent chacune en Java, elles peuvent le faire sans collision et savoir exactement comment le diviser.
Les systèmes qui ne font pas ce genre de division me semblent vraiment flou maintenant. Je pourrais les utiliser pour pirater un script pour quelque chose de personnel, mais je me sentirais mal à l'aise de développer quelque chose de grand sans un emballage strict.
"... vous pouvez utiliser des paquets pour assurer l'unicité ...." exactement à droite. Le terme faussant est «partitionner l'espace de noms global». Votre citation de java.util.Date et java.sql.Date est sur place. – duffymo