Зачем нам нужен конструктор копирования и когда мы должны использовать конструктор копирования в Java

Я проходил через Конструкторы Копирования, прошел через ссылки в стеке над потоком и другие. Но я не уверен в следующих моментах.

Зачем нам нужен конструктор копированияКогда нам нужен конструктор копирования

Я имею в виду, в какой именно ситуации или сценарии нам нужно использовать конструктор копирования. Может кто-нибудь объяснить с помощью примера или указать ссылки, чтобы я мог пройти и понять их в чистом виде.

Ниже приведены ссылки, через которые я прошел, чтобы понять, что такое конструктор копирования.

http://www.programmerinterview.com/index.php/java-questions/how-copy-constructors-work/

https://deepeshdarshan.wordpress.com/2013/12/05/copy-constructors-in-java/

Вторая ссылка объясняет «почему» и «где» должен использоваться конструктор копирования. Но все же я не уверен в этом.

Ниже мой класс Employee.java

package com.test;

/**
 * @author avinashd
 *
 */
public class Employee {

    private String rollNo;
    private String name;

    //constructor
    public Employee(String rollNo, String name){

        this.rollNo = rollNo;
        this.name = name;
    }

    //copy constructor
    public Employee(Employee employee){

    this.rollNo = employee.rollNo;
    this.name = employee.name;

    }

    public String getRollNo() {
        return rollNo;
    }

    public void setRollNo(String rollNo) {
        this.rollNo = rollNo;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

Конструктор копирования используется для создания и точной копии объекта с теми же значениями существующего объекта.

Скажем, например, у нас есть сотрудник со значениями какrollNo: 1 а такжеname: avinash, Конструктор Копии создаст подобный объект со значениями какrollNo: 1 а такжеname: avinash , Но оба являются двумя разными объектами, и изменение значений объекта не повлияет на другой объект.

Вопрос здесь

Когда у нас есть конструктор, такой как

public Employee(String rollNo, String name){
    this.rollNo = rollNo;
    this.name = name;
}

создать объект. Мы можем вызвать тот же конструктор, чтобы создать другой объект. Но зачем нам вызывать конструктор копирования. Когда нам нужно вызывать его? Пожалуйста, объясни

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

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