1. 程式人生 > 其它 >Java 物件的克隆

Java 物件的克隆

克隆:將已存在的物件複製一份,稱為物件的克隆

若某個類的物件想要實現克隆,需要執行兩個步驟:

(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(); } }