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

手机最全的网站北京网站推广排名

手机最全的网站,北京网站推广排名,公司系统软件,在百度上做网站推广怎么弄JAVA设计模式(三)-原型 本篇文章主要讲下java 创建型设计模式中的原型模式. 何谓原型模式: 简单来说就是 将一个对象作为原型#xff0c;通过对其进行复制而克隆出多个和原型类似的新实例。 使用原型模式,就可以简化实例化的过程, 不必依赖于构造函数或者new关键字. 由于j…JAVA设计模式(三)-原型 本篇文章主要讲下java 创建型设计模式中的原型模式. 何谓原型模式: 简单来说就是 将一个对象作为原型通过对其进行复制而克隆出多个和原型类似的新实例。 使用原型模式,就可以简化实例化的过程, 不必依赖于构造函数或者new关键字. 由于java 提供了clone方法, 原型设计模式的实现就很简单了. 原型模式的要素: 原型接口(Prototype Interface): 定义了克隆方法的接口.该方法用于复制现有对象并创建新对象。原型类(Concrete Prototype Class): 实现了克隆方法,来复制自身 1: 原型类 具体的实现如下: package com.zh.xpose;import java.util.List;/*** Author: zh* Time: 23-12-22.* Email:* Describe:*/ public class ConcretePrototype implements Cloneable{private String name;private ListString fields;public ConcretePrototype(String name,ListString fields) {System.out.println(原型创建成功);this.name name;this.fields fields;}public String getName() {return name;}public void setName(String name) {this.name name;}public ListString getFields() {return fields;}public void setFields(ListString fields) {this.fields fields;}Overrideprotected Object clone() throws CloneNotSupportedException {System.out.println(原型复制成功);return (ConcretePrototype)super.clone();} } public class JavaTest {public static void main(String[] args) { ArrayListString list new ArrayList();list.add(age);list.add(sex);ConcretePrototype concretePrototype new ConcretePrototype(person,list);ConcretePrototype clone null;try {clone (ConcretePrototype) concretePrototype.clone();} catch (CloneNotSupportedException e) {e.printStackTrace();}System.out.println(concretePrototypeclone);System.out.println(concretePrototype.getName() clone.getName());System.out.println(concretePrototype.getFields() clone.getFields());} }输出如下: exclude patterns: 原型创建成功 原型复制成功 false true true2: 浅克隆和深克隆 浅克隆只会复制原型对象本身而不会复制它所引用的对象。也就是说克隆对象和原型对象会共享引用对象。如果原型对象中的引用对象发生改变克隆对象中的引用对象也会发生改变。 深克隆会复制原型对象以及它所引用的对象。也就是说克隆对象和原型对象拥有各自独立的引用对象。无论原型对象中的引用对象是否发生改变克隆对象中的引用对象都不会受到影响。 关于浅克隆: 验证如下: concretePrototype.setName(test111);list.add(第三个了);concretePrototype.setFields(list);System.out.println(concretePrototype.getName() clone.getName());System.out.println(concretePrototype.getFields().size() clone.getFields().size());可以看到 当原型类中的list 发生变更时, clone同时发生了变更. test111 person 3 3实现深克隆的方式有两种: 通过实现Cloneable接口和通过序列化. 这里通过修改上面的实现类中的clone方法,来实现深克隆. package com.zh.xpose;import java.util.ArrayList; import java.util.List;/*** Author: zh* Time: 23-12-22.* Email:* Describe:*/ public class ConcretePrototype implements Cloneable{private String name;private ListString fields;public ConcretePrototype(String name,ListString fields) {System.out.println(原型创建成功);this.name name;this.fields fields;}public String getName() {return name;}public void setName(String name) {this.name name;}public ListString getFields() {return fields;}public void setFields(ListString fields) {this.fields fields;}Overrideprotected Object clone() throws CloneNotSupportedException {System.out.println(原型复制成功);ConcretePrototype clone (ConcretePrototype) super.clone();clone.setName(new String(name));clone.setFields(new ArrayList(fields));return clone;} }重新执行验证代码 ,结果输出如下: 原型创建成功 原型复制成功 false false false test111 person 3 2
http://www.yutouwan.com/news/194614/

相关文章:

  • 合肥企业网站制作公司百度一下下载
  • 少儿教育网站建设价格传奇4端游
  • 网站后缀net建筑网校哪个比较好
  • 深圳网站设计公司用记事本制作html网页代码
  • 做淘宝客网站备案要怎么写石排网站设计
  • 网站建设内容介绍好看的网页设计作品图片
  • 做网站 信科网络阿里云 发布网站 教程
  • 安阳手机网站制作wordpress 用户字段
  • 网站后台密码忘记了怎么办wordpress 搭网站
  • 如何写网页阳江网站seo服务
  • 做物流网站模块上海建设银行官网网站6
  • 万能素材库山东自助seo建站
  • wordpress自定义鼠标seo 海外
  • 织梦新闻门户网站模板 原创精品福州网站seo优化公司
  • 网站建设排行公司吉林公司做网站
  • 中山网站建设seo优化营销制作设计全国特种作业人员证查询系统
  • 网站收录大幅度下降室内设计师收入
  • 济南网站备案wordpress收不到注册邮件
  • 网站做多个镜像网站开发技术合同
  • 建设网站需要什么技术人员手机网站表单页面制作
  • 网站动态logo怎么做免费设计logo的app
  • 快速搭建网站 开源做外贸的阿里巴巴网站是哪个好
  • 营销网站建设规划概念1.86神华网站两学一做
  • 手机传奇手游发布网站建一个网站做cpa联盟
  • 北京做网络工程公司的网站常用的网络推广方式有哪些
  • 阿里云做视频网站可以吗外贸用什么软件
  • 网站 优化 教程可口可乐软文范例
  • 网站在百度上搜索不到网页文章导入wordpress
  • html网页制作简单范例秦皇岛市做网站优化
  • 怎么做网站滑动图片部分百度账号登录个人中心