我正在通过复制构造函数,我已经通过流程和其他的堆栈链接.但我不清楚以下几点.
>为什么我们需要一个复制构造函数
>我们什么时候需要一个复制构造函数
我的意思是我们需要使用复制构造函数的确切情况或场景.有人可以用一个例子来解释,或者指出一些链接,以便我能够清楚地了解它们.
以下是我经历的链接,以了解什么是复制构造函数.
第二个链接解释了使用复制构造函数的“为什么”和“在哪里”.但是我还不清楚.
下面是我的类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;
}
}
Copy Constructor用于创建具有相同现有对象值的对象的精确副本.
比方说我们有一个雇员的值为rollNo:1,名称为avinash. Copy Constructor将创建一个类似的对象,值为rollNo:1,名称为:avinash.但是两个都是两个不同的对象,而对对象的值的更改不会影响另一个对象.
这里的问题是
当我们有一个构造函数,如
public Employee(String rollNo, String name){
this.rollNo = rollNo;
this.name = name;
}
创建一个对象.我们可以调用同一个构造函数来创建另一个对象.但是为什么我们需要调用copy构造函数呢?我们需要调用它吗?请解释