Как это работает, выложено в Javadoc :
Метод
blockquote>clone
для классаObject
выполняет определенную операцию клонирования. Во-первых, если класс этого объекта не реализует интерфейсCloneable
, то бросаетсяCloneNotSupportedException
. Обратите внимание, что все массивы считаются реализующими интерфейс Cloneable. В противном случае этот метод создает новый экземпляр класса этого объекта и инициализирует все его поля точно содержимым соответствующих полей этого объекта, как если бы оно было назначено; содержимое полей само по себе не клонируется. Таким образом, этот метод выполняет «мелкую копию» этого объекта, а не операцию «глубокой копии».Например, наивная, мелкая копия по полю очень близко (но вероятно, не совсем), просто бит-бит для копирования объекта.
Я ищу детали реализации собственного метода clone.
blockquote>That будет варьироваться от реализации JVM до реализации JVM. Скорее всего, это будет довольно эффективная операция, если это вас беспокоит.