Java очень точен в своей реализации. На самом деле это не оставляет места для потасовки.
Если бы все должны были использовать один и тот же пакет, им пришлось бы найти какой-то «всемирный» способ убедиться, что ни одно имя класса не столкнулось.
Это позволяет каждому классу, когда-либо написанному, вписываться в свое «место», на которое вам не нужно смотреть, если вы этого не хотите.
У вас могут быть разные объекты «Точка», определенные в 4 разных местах вашей системы, но ваш класс будет использовать только тот, который вы ожидаете (потому что вы импортируете его).
То, как они гарантируют, что каждый человек имеет собственное пространство, должен использовать ваш обратный домен, поэтому мой «tv.kress.bill». Я владею этим доменом. Фактически, я разделяю его с моим братом «tv.kress.doug», и хотя мы разделяем один и тот же домен, мы не можем столкнуться.
Если в вашей компании развиваются сотни подразделений в вашей компании, они могут делать это без столкновений и точно знать, как их разделить.
Системы, которые не выполняют такого рода деления, кажутся мне действительно шелушащимися. Я мог бы использовать их, чтобы взломать скрипт для чего-то личного, но мне было бы неудобно создавать что-либо большое без какой-либо строгой упаковки.
«... вы можете использовать пакеты для обеспечения уникальности ....» точно в порядке. Термин highfaluting - это «разделение глобального пространства имен». Ваша цитата java.util.Date и java.sql.Date - это место. – duffymo