Клонирование - это процесс создания копии объекта. Чтоб создать копию, нужно вызвать метод 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)
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ