当前位置: 首页 > news >正文

网站建站建设网站附近搬家公司

网站建站建设网站,附近搬家公司,seo查询是什么,网站建设一般用什么编程1.原型模式定义 原型模式非常简单#xff0c;定义如下#xff1a; 用原型实例指定创建对象的种类#xff0c;并且通过拷贝这些原型创建新的对象 2.通用类图 原型模式的核心是实现Cloneable接口#xff0c;此接口为JDK提供的一个标识接口#xff0c;只有实现了此接口的类才…1.原型模式定义 原型模式非常简单定义如下 用原型实例指定创建对象的种类并且通过拷贝这些原型创建新的对象 2.通用类图 原型模式的核心是实现Cloneable接口此接口为JDK提供的一个标识接口只有实现了此接口的类才能被拷贝。 原型模式的通用类图如下 3.通用原型实现代码 原型类 public class ConcretePrototype implements Cloneable {private int id;private String name;public ConcretePrototype() {System.out.println(ConcretePrototype construct.);}public int getId() {return id;}public void setId(int id) {this.id id;}public String getName() {return name;}public void setName(String name) {this.name name;}Overrideprotected Object clone() throws CloneNotSupportedException {ConcretePrototype concretePrototype null;try {concretePrototype (ConcretePrototype) super.clone();} catch (Exception e) {}return concretePrototype;}Overridepublic String toString() {return ConcretePrototype{ id id , name name \ };} } Client测试代码 public class Client {public static void main(String[] args) throws Exception {ConcretePrototype concretePrototype new ConcretePrototype();concretePrototype.setId(123);concretePrototype.setName(test);ConcretePrototype cloneType (ConcretePrototype) concretePrototype.clone();cloneType.setId(111);cloneType.setName(test111);System.out.println(concretePrototype);System.out.println(cloneType);} } 输出结果如下 ConcretePrototype construct. ConcretePrototype{id123, nametest} ConcretePrototype{id111, nametest111} 通过输出结果可以看出通过clone方法拷贝了一个新的对象。 4.原型模式的优点 1.性能优良 原型模式是在内存中二进制流的拷贝要比直接new一个对象快的多 2.通过3中的输出结果来看在clone对象的时候构造函数不会执行这对于一些需要在构造函数中做一些初始化的类来说可能称为约束 5.需要注意的点 在原型模式拷贝的时候需要注意可变引用类型的属性下面通过一个例子来说明此问题 拷贝对象 public class DeepClone implements Cloneable{private MapString, Object map new HashMap();public void addPair(String key, String value){map.put(key, value);}public MapString , Object getMap(){return map;}Overrideprotected Object clone() throws CloneNotSupportedException {DeepClone deepClone null;try {deepClone (DeepClone) super.clone();} catch (Exception e) {}return deepClone;} } Client类 public class Client {public static void main(String[] args) throws Exception {DeepClone deepClone new DeepClone();deepClone.addPair(key1, value1);DeepClone clone (DeepClone) deepClone.clone();clone.addPair(key2, value2);System.out.println(deepClone.getMap());}} 输出结果如下 {key1value1, key2value2} 在使用clone方法拷贝对象的时候引用类型的属性不会继续做拷贝而是多个拷贝对象使用同一个属性这种被称为浅拷贝。 下面对clone方法重写完成深拷贝 Override protected Object clone() throws CloneNotSupportedException {DeepClone deepClone null;try {deepClone (DeepClone) super.clone();MapString, Object cloneMap new HashMap();cloneMap.putAll(this.map);deepClone.map cloneMap;} catch (Exception e) {}return deepClone; } 重新执行client输出结果为 {key1value1} 转载于:https://www.cnblogs.com/vitasyuan/p/9569404.html
http://www.pierceye.com/news/236736/

相关文章:

  • 博客和网站的区别贵阳网站推广优化公司
  • 专业做公司网站的机构时彩网站开发
  • 网站 建设设计深圳网站建设交易
  • 网站建设氵金手指下拉十二网页设计有啥教程
  • 物流企业网站建设策划书6wordpress 搜索 很慢
  • 青岛网站设计选哪家南海区住房城乡建设和水务局网站
  • 济南冰河世纪网站建设手机可以搭建网站吗
  • 网站建设论文总结wordpress文章排序方式
  • 织梦程序来搭建网站人才招聘网最新招聘信息
  • 网站建设 客户定位支付网站建设费会计分录
  • 深圳网站设计工作室广告公司名字 三个字
  • 长沙门户网站广告网站设计公司
  • 余姚网站建设的公司wordpress 开发文档
  • 怎么建设一个微信网站莱芜金点子最新招工信息
  • 石家庄网站排名优化wordpress修改布局
  • 景安服务器管理助手如何备份网站国外做图标网站
  • 网站轮播怎么做石家庄网站建设规划
  • 免费软件网站下载深圳网站开发哪个公司好
  • 建设项目验收网站公示内网门户网站建设方案
  • 滨海做网站哪家最好宝安附近做网站公司
  • 详情页的五大模块东莞网站优化科技有限公司
  • 南阳建设网站哪家好昆明网站服务
  • 大潮建设集团有限公司 网站网站改版策划方案
  • 网站开发心路历程烟台网站建设薇企汇互联见效付款
  • 企业网站的制作周期wordpress添加数据库表
  • 广告推广营销网站网站买空间的价格
  • 转转假网站怎么做linux建设视频网站
  • 伍佰亿搜索引擎网站系统wordpress 增加备案
  • 韩国做游戏的电影 迅雷下载网站有哪些网络营销方式文献
  • 大学生兼职网站的融资方案龙华网站建设设计制作公司