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

淘客自己的网站怎么做合肥市做外贸网站的公司

淘客自己的网站怎么做,合肥市做外贸网站的公司,wordpress crossapple,全国互联网公司排名1、定义 原型模式是一种创建型模式#xff0c;用于创建重复的对象#xff0c;并且保证性能。原型模式创建的对象是由原型对象自身创建的#xff0c;是原型对象的一个克隆#xff0c;和原型对象具有相同的结构和相同的值。 2、适用场景 创建对象时我们不仅仅需要创建一个新…1、定义 原型模式是一种创建型模式用于创建重复的对象并且保证性能。原型模式创建的对象是由原型对象自身创建的是原型对象的一个克隆和原型对象具有相同的结构和相同的值。 2、适用场景 创建对象时我们不仅仅需要创建一个新的对象可能我们还需要对象创建出来里面的值和某一个对象也要完全一致原型模式可以保证结构和值都相同。创建对象时我们希望对创建出来的对象的修改不影响到原来的对象可能通过原型模式进行创建进行深度克隆。创建对象时如果对象是个复杂对象里面又包含了其他的复杂对象我们希望创建的对象和原有对象保持一致传统模式new会非常麻烦还需要考虑到里面其他的复杂对象这时候可以使用原型模式进行创建。 3、 原型模式的核心是就是原型类 PrototypePrototype 类需要具备以下两个条件 1实现 Cloneable 接口在 Java 中 Cloneable 接口的作用就是在运行时通知虚拟机可以安全地在实现了 Cloneable 接口的类上使用 clone() 方法只有在实现了 Cloneable 的类才可以被拷贝否则在运行时会抛出 CloneNotSupportedException 异常。2重写 Object 类中的 clone() 方法Java 中所有类的父类都是 ObjectObject 中有一个clone() 方法用于返回对象的拷贝但是其作用域 protected一般的类无法调用因此Prototype 类需要将 clone() 方法的作用域修改为 public。 ​ 原型模式是一种比较简单的模式也非常容易理解实现一个接口重写一个方法即完成了原型模式。在实际应用中原型模式很少单独出现。经常与其他模式混用他的原型类Prototype也常用抽象类来替代。 4、注意事项 1使用原型模式复制对象不会调用类的构造函数对象是通过调用 Object 类的 clone() 方法来完成的它直接在内存中复制数据。不但构造函数不会执行甚至连访问权限都对原型模式无效。单例模式中需要将构造函数的访问权限设置为 private但是 clone() 方法直接无视构造方法的权限所以单例模式与原型模式是冲突的在使用时需要注意。 2深拷贝与浅拷贝。Object 类的 clone() 方法只会拷贝对象中的基本的数据类型8种基本数据类型 byte,char,short,int,long,float,double,boolean 和对应的封装类对于数组、容器对象、引用对象等都不会拷贝这就是浅拷贝。如果要实现深拷贝必须将原型模式中的数组、容器对象、引用对象等另行拷贝。 浅拷贝只克隆对象中的基本数据类型而不会克隆数组、容器、引用对象等。换言之浅复制仅仅复制所考虑的对象而不复制它所引用的对象。如果变量为String字符串则拷贝其引用地址但是在修改的时候它会从字符串池中重新生成一个新的字符串原有的字符串对象保持不变。深拷贝把要克隆的对象所引用的对象都克隆了一遍。 代码实例 /*** Author charles.yao* Description* Date 2023/2/13 14:54*/ NoArgsConstructor AllArgsConstructor Data public class Animal implements Cloneable {private String userName;private String userAge;Overrideprotected Object clone() throws CloneNotSupportedException {return super.clone();} }/*** Author charles.yao* Description 浅拷贝类* Date 2023/2/13 14:53*/ NoArgsConstructor AllArgsConstructor Data public class UserInfo implements Cloneable {private String userName;private String userAge;private Animal animal;Overrideprotected UserInfo clone() throws CloneNotSupportedException {UserInfo userInfo (UserInfo) super.clone();userInfo.setAnimal((Animal) animal.clone());return userInfo;} }/*** Author charles.yao* Description 浅拷贝测试* Date 2023/2/13 14:57*/ public class DeepCopyTest {public static void main(String[] args) {try {UserInfo userInfo new UserInfo();userInfo.setUserName(张三);userInfo.setUserAge(1223);userInfo.setAnimal(new Animal(111, 2122));UserInfo clone userInfo.clone();System.out.println(原数据 userInfo.toString());System.out.println(拷贝之后 clone.toString());System.out.println(userInfo clone);System.out.println(userInfo.getAnimal() clone.getAnimal());userInfo.getAnimal().setUserName(二狗);System.out.println(原数据动物 userInfo.getAnimal().toString());System.out.println(拷贝之后动物 clone.getAnimal().toString());} catch (CloneNotSupportedException e) {e.printStackTrace();}} }运行结果 原数据UserInfo(userName张三, userAge1223, animalAnimal(userName111, userAge2122)) 拷贝之后UserInfo(userName张三, userAge1223, animalAnimal(userName111, userAge2122)) false false 原数据动物Animal(userName二狗, userAge2122) 拷贝之后动物Animal(userName111, userAge2122)
http://www.w-s-a.com/news/186396/

相关文章:

  • 做玄幻封面素材网站我国数字经济报告
  • 手机网站返回跳转wordpress带颜色的文字
  • 微信群领券网站怎么做创意广告图片
  • 跟我一起做网站嘉兴做网站哪家好
  • 上海知名建站公司山东住房和建设庭网站
  • 深圳市城乡建设部网站首页平台设计方案怎么做
  • 深圳美食教学网站制作wordpress列表图显示标题
  • 怎么做网址导航网站沈阳高端做网站建设
  • 棋牌网站开发需要多少钱整网站代码 带数据 免费 下载
  • 网站建设 sql 模版猎头用什么网站做单
  • 河北保定建设工程信息网站wordpress 远程缓存
  • 手机网站开发之列表开发win7网站开发教程
  • 楚雄市住房和城乡建设局网站廊坊企业网站建设
  • 东莞规划局官方网站wordpress添加文章页不显示图片
  • 做企业网站要哪些人员百度商城网站建设
  • c语言软件开和网站开发区别多产品的网站怎么做seo
  • 收益网站制作移动互联网应用的使用情况表格
  • 专业的手机网站建设公司哪家好同城信息网站建设
  • 参与做网站的收获国外网站服务器建设
  • 西宁网站建设报价cu君博规范网站kv如何做
  • 毕业室内设计代做网站广东建设监理协会网站个人账号
  • 百度推广点击收费标准自己如何做网站优化
  • 安徽省建设监理网站广州澄网站建设公司
  • 做简历用什么网站俄罗斯搜索引擎浏览器官网入口
  • dw里响应式网站怎么做制作网站需要多少时间
  • 网站如何做双链路示范学校建设专题网站
  • 网站开发北京影视网站seo描述
  • 高端网站定制建设公司哪家好企业网络推广技巧
  • 建设公司网站的内容建筑设计图片
  • 用ps怎么做网站的效果图互联网营销师报名入口官网