JavaRush /Java блог /Random UA /Посібник з клонування в Java, глибоке та поверхове копіюв...
IvanDurov
25 рівень

Посібник з клонування в Java, глибоке та поверхове копіювання

Стаття з групи Random UA
Клонування – це процес створення копії об'єкта. Щоб створити копію, необхідно викликати спосіб clone() у класу реалізованого інтерфейс Cloneable. 1. Важливість клонування 2. Типи клонування 3. Тип return у методу clone() 4. Альтернативи клонування 5. Питання про клонування Незважаючи на те, що всі класи успадкували метод clone() від класу Object, для клонування необхідно також реалізувати інтерфейс Cloneable . Якщо ви спробуєте викликати метод clone() без реалізації інтерфейсу, отримаєте виняток CloneNotSuppoted. Перезавантажити метод clone() та реалізувати інтерфейс Cloneable – це все, що вам треба зробити. Інтерфейс Cloneable є інтерфейсом-маркером, так само як і інтерфейс Serializable.

Важливість клонування

Ось приклад коду clone() виклику без реалізованого інтерфейсу Cloneable. package example.java; public class Test { public static void main(String[] args) { Test b1 = new Test(); try { Test b2 = (Test)b1.clone(); }catch (CloneNotSupportedException e) { e.printStackTrace(); } } } висновок:
Output: java.lang.CloneNotSupportedException: example.java.Test at java.lang.Object.clone(Native Method) at example.java.Test.main(Test.java:8)
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ