在 Java 中使用建構函式複製物件
Java 中可以使用複製建構函式複製物件。複製建構函式採用單個引數,即要複製的同類物件。但是,複製建構函式只能由程式設計師顯式建立,因為 Java 沒有提供預設複製建構函式。
以下是展示此過程的程式 -
示例
class NumberValue {
private int num;
public NumberValue(int n) {
num = n;
}
public NumberValue(NumberValue obj) {
num = obj.num;
}
public void display() {
System.out.println("The number is: " + num);
}
}
public class Demo {
public static void main(String[] args) {
NumberValue obj1 = new NumberValue(12);
NumberValue obj2 = new NumberValue(obj1);
obj1.display();
obj2.display();
}
}輸出
The number is: 12 The number is: 12
下面讓我們來了解一下上述程式。
NumberValue 類利用資料成員 num 和單一成員函式 display() 建立,該函式顯示 num 的值。NumberValue 類中有兩個建構函式,其中一個採用了 int 型別的單個引數,而另一個是採用了單個引數(即NumberValue 類的物件)的複製建構函式。以下程式碼片段展示了這一點 -
class NumberValue {
private int num;
public NumberValue(int n) {
num = n;
}
public NumberValue(NumberValue obj) {
num = obj.num;
}
public void display() {
System.out.println("The number is: " + num);
}
}在 main() 方法中,建立了類 NumberValue 的物件 obj1 和 obj2,併為兩者呼叫了 display() 方法。以下程式碼片段展示了這一點 -
public class Demo {
public static void main(String[] args) {
NumberValue obj1 = new NumberValue(12);
NumberValue obj2 = new NumberValue(obj1);
obj1.display();
obj2.display();
}
}
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP