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

 

posted @ 2022-05-24 20:20  藤原豆腐渣渣  阅读(539)  评论(0编辑  收藏  举报