原型模式

浅克隆

@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}

深度克隆

@Override
protected Object clone() throws CloneNotSupportedException {
Object obj = super.clone();
Video v=(Video) obj;//将属性进行深克隆
v.createTime=(Date) this.createTime.clone();
return obj;
}

 

 代码实现

public class BiliBili {
public static void main(String[] args) throws CloneNotSupportedException {
Date data = new Date();
Video v1 = new Video("java", data);
Video v2 =(Video) v1.clone();
System.out.println("v1="+v1);
System.out.println("v2="+v2);
System.out.println("v1="+v1.hashCode());
System.out.println("v2="+v2.hashCode());
System.out.println("==================");
data.setTime(222232521);
System.out.println("v1="+v1);
System.out.println("v2="+v2);
posted @ 2022-01-30 15:08  开源遗迹  阅读(32)  评论(0)    收藏  举报