原型模式

浅克隆

@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 @   开源遗迹  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
点击右上角即可分享
微信分享提示