在 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