Java: почему нельзя использовать clone () для защитного копирования?

В эффективной Java (глава 7) говорится

Также обратите внимание, что мы не использовали метод клонирования Дейта для создания защитных копий. Поскольку Date не является окончательным, метод clone не гарантирует возвращение объекта, класс которого java.util.Date: он может возвращать экземпляр недоверенного подкласса, специально предназначенного для злонамеренного вреда. Такой подкласс мог бы, например, записать ссылку на каждый экземпляр в частном статическом списке во время его создания и позволить злоумышленнику получить доступ к этому списку. Это дало бы атакующему право свободно управлять всеми инстанциями. Чтобы предотвратить такого рода атаки, не используйте метод clone для создания защитной копии параметра, тип которого подклассифицирован ненадежными сторонами.

Я не совсем понимаю его объяснение. Почему clone () не возвращает объект Date? Как экземпляр может быть недоверенного подкласса?

Ответы на вопрос(2)

Ваш ответ на вопрос