Клонирование в java

Опубликовано: 15 Февраля, 2022

Клонирование объекта означает создание точной копии исходного объекта.

Если классу необходимо поддерживать клонирование, он должен реализовать интерфейс java.lang.Cloneable и переопределить метод clone () из класса Object. Синтаксис метода clone ():

 защищенный объект clone () выдает исключение CloneNotSupportedException

If the object’s class doesn’t implement Cloneable interface then it throws an exception ‘CloneNotSupportedException’ .

 

// Java code for cloning an object
  
class Test implements Cloneable
{
    int a;
    int b;
  
    // Parameterized constructor
    Test(int a, int b)
    {
        this.a = a;
        this.b = b;
    }
  
    // Method that calls clone()
    Test cloning()
    {
        try
        {
            return (Test) super.clone();
        }
        catch(CloneNotSupportedException e)
        {
            System.out.println("CloneNotSupportedException is caught");
            return this;
        }
    }
}
  
class demo
{
    public static void main(String args[])
    {
        Test obj1 = new Test(1, 2);
        Test obj2 = obj1.cloning();
        obj1.a = 3;
        obj1.b = 4;
        System.out.println("Object2 is a clone of object1");
        System.out.println("obj1.a = " + obj1.a + " obj1.b = " + obj1.b);
        System.out.println("obj2.a = " + obj2.a + " obj2.b = " + obj2.b);
    }
}

Выход :

Object2 является клоном object1
obj1.a = 3 obj1.b = 4
obj2.a = 1 obj2.b = 2


Эта статья опубликована Мехаком Нарангом.


Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше

Вниманию читателя! Не переставай учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .