在 Java 中使用构造函数复制对象
java 8object oriented programmingprogramming更新于 2024/11/12 16:22:00
在 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("数字为:" + num); } } public class Demo { public static void main(String[] args) { NumberValue obj1 = new NumberValue(12); NumberValue obj2 = new NumberValue(obj1); obj1.display(); obj2.display(); } }
输出
数字为:12 数字为: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(); } }