Java 物件的克隆
阿新 • • 發佈:2022-05-24
克隆:將已存在的物件複製一份,稱為物件的克隆
若某個類的物件想要實現克隆,需要執行兩個步驟:
(1)則必須實現Cloneable介面,該介面是一個空的介面,裡面沒有定義任何方法,
因此被稱為標記介面。
(2)這個類還需要重寫clone()方法。
程式碼示例
package com.seven.javaSE; public class CloneDemo { public static void main(String[] args) { Dog dd = new Dog("大黃",6); try { Dog dd2= (Dog)dd.clone(); System.out.println(dd); System.out.println(dd2); System.out.println(dd==dd2);//false, dd和dd2的屬性值和方法一模一樣,但是記憶體地址不同,屬於兩個物件 } catch (CloneNotSupportedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }/* * 實現克隆操作就兩個步驟: * (1)實現Cloneable介面 * (2)重寫從Object類繼承的clone()方法 */ class Dog implements Cloneable{ private String name; private int age; public Dog() { super(); } public Dog(String name, int age) { super(); this.name = name; this.age = age; }public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "[name=" + name + ", age=" + age + "]"; } @Override protected Object clone() throws CloneNotSupportedException { // TODO Auto-generated method stub return super.clone(); } }