http://www.verejava.com/?id=16999064613464

浅克隆 package com.clone.theory;public class TestClone
{public static void main(String[] args){Prototype p=new Prototype("李阳");System.out.println(p.getName());Prototype p2=(Prototype)p.clone();System.out.println(p2.getName());p2.setName("王浩");System.out.println(p2.getName());System.out.println(p.getName());}
}package com.clone.theory;public class Person implements Cloneable
{private int age;public Person(int age){super();this.age = age;}public int getAge(){return age;}public void setAge(int age){this.age = age;}@Overrideprotected Object clone() {try{return super.clone();} catch (CloneNotSupportedException e){e.printStackTrace();}return null;}}深克隆 package com.clone.theory;public class TestDeepClone
{public static void main(String[] args){Prototype p=new Prototype("李阳");p.setPerson(new Person(20));System.out.println(p.getName()+","+p.getPerson().getAge());Prototype p2=(Prototype)p.clone();System.out.println(p2.getName()+","+p.getPerson().getAge());p2.setName("王浩");p2.getPerson().setAge(30);System.out.println(p.getName()+","+p.getPerson().getAge());System.out.println(p2.getName()+","+p2.getPerson().getAge());}
}package com.clone.theory;public class Prototype implements Cloneable
{private String name;private Person person;public Prototype(String name){super();this.name = name;}public String getName(){return name;}public void setName(String name){this.name = name;}public Person getPerson(){return person;}public void setPerson(Person person){this.person = person;}@Overrideprotected Object clone() {Prototype p=null;try{p=(Prototype)super.clone();p.person=(Person)person.clone();} catch (CloneNotSupportedException e){e.printStackTrace();}return p;}}

http://www.verejava.com/?id=16999064613464

Java 设计模式 之 克隆模式相关推荐

  1. java设计模式5--原型模式(Prototype)

    本文地址:http://www.cnblogs.com/archimedes/p/java-prototype-pattern.html,转载请注明源地址. 原型模式 用原型实例指定创建对象的种类,并 ...

  2. JAVA设计模式 - 创建型模式总结

    JAVA设计模式 - 单例模式 JAVA设计模式 - 工厂方法模式 JAVA设计模式 - 抽象工厂模式 JAVA设计模式 - 原型模式 JAVA设计模式 - 建造者模式 1 . 创建型模式的定义 顾名 ...

  3. java之备忘录模式,java设计模式之备忘录模式

    java设计模式之备忘录模式 代码无错便是优? 简介: 在不破坏封装性的前提下 , 捕获一个对象的内部状态,并在该对象之外保存这个状态 , 这样以后就可以将该对象恢复到原先保存的状态 . 备忘录模式就 ...

  4. 设计模式系列——克隆模式

    设计模式系列--克隆模式 前言 native关键字 原型模式适用的场景 原型模式的应用 原型模式实战 浅克隆 深克隆 前言 在我们工作中经常能遇到大幅度使用get或set方法,例如下面这样的代码 pu ...

  5. java备忘录模式应用场景_图解Java设计模式之备忘录模式

    图解Java设计模式之备忘录模式 游戏角色状态恢复问题 游戏角色有攻击力和防御力,在大战Boss前保存自身的状态(攻击力和防御力),当大战Boss后攻击力和防御力下降,从备忘录对象恢复到大战前的状态. ...

  6. Java设计模式之策略模式与状态模式

    一.策略模式定义 定义:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使他们之间可以相互替换,策略模式可以在不影响客户端的情况下发生变化. 好了,定义看看就完了,我知道你很烦看定义. 二.策 ...

  7. Java设计模式(访问者模式-迭代器模式-观察者模式-中介者模式)

    Java设计模式Ⅶ 1.访问者模式 1.1 访问者模式概述 1.2 代码理解 2.迭代器模式 2.1 迭代器模式概述 2.2 代码理解 3.观察者模式 3.1 观察者模式概述 3.2 代码理解 4.中 ...

  8. Java设计模式(建造者模式-适配器模式-桥接模式)

    Java设计模式Ⅲ 1.建造者模式 1.1 建造者模式概述 1.2 建造者模式的注意事项和细节 1.3 代码理解 2.适配器模式 2.1 类适配器模式 2.1.1 代码理解 2.2 对象适配器模式 2 ...

  9. Java设计模式(工厂模式>抽象工厂模式和原型模式)

    Java设计模式Ⅱ 1.工厂模式 1.1 简单工厂模式 1.2 工厂方法模式 2.抽象工厂模式 3.总结 4.原型模式 4.1 原型模式 4.2 浅拷贝 4.3 深拷贝 5.建造者模式 1.工厂模式 ...

最新文章

  1. asp.net中web.config配置节点大全详解
  2. Tidio AI 趋势报告:约42%受访者能够接受机器人伴侣
  3. Discuz7使用syntaxhighlighter_2.0.320实现代码高亮
  4. vue+Mint-ui实现登录注册
  5. python turtle 颜色数字_python的绘图利器--海龟绘图turtle
  6. 清华大学车辆刚才专业大佬教你如何写SCI论文(转)
  7. 不安装游戏apk直接启动法
  8. JVM内存原理及高级特性
  9. pat-1136. A Delayed Palindrome (20) 模拟
  10. dj鲜生-08-用户注册的功能-上-实现注册的主逻辑和其本的验证功能-伴随着调试
  11. DelphiBCB一线程序员开发经验
  12. http get post java_Java发送http的get、post请求 - 穿梭于偶然
  13. python mockito arg_that_编程高阶用法–开发者高频词汇
  14. 百度面试题:Median of Two Sorted Arrays(java实现)
  15. spring batch(批处理)
  16. 磨刀不误砍柴工—ElasticSearch的schema详解
  17. linux删除某条历史命令,如何从Linux/Unix Bash shell上删除历史记录中的一条命令?...
  18. 学生用计算机怎么去掉,怎样把学生使用的计算器关掉
  19. dos攻击与ddos攻击的区别
  20. 列车信息系统Java+MySQL(没完全实现)

热门文章

  1. css3宽度变大动画_电工不会仪表?太尴尬了。14种动画让你轻松掌握各种流量计工作原理。...
  2. 讨论 |如何实现金融平等:技术究竟是缩小还是拉大了贫富差距?
  3. 无网络状态下CentOS无线网卡驱动安装
  4. android contextmenu 自定义,RecyclerView+ContextMenu实现菜单项
  5. 黑狐木马最新变种——“肥兔”详细分析
  6. Css视觉格式化模型
  7. 【Linux】管道通信
  8. 第二天学习:DOS命令与计算机语言发展史
  9. ffmpeg 和 x264的参数对照
  10. 未来计算机的作文600字,未来的机器人作文600字(优秀篇)