栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

原型设计模式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

原型设计模式

原型模式简介

原型模式也是创建对象的一种方式。

如果需要创建的对象的初始化比较耗时,并且对应的属性取值都差不多的时候,可以考虑通过原型模式来创建。

原型模式是通过直接拷贝其他对象来创建对象,然后更改对应的属性来得到新的对象

深拷贝和浅拷贝

原型模式涉及到了对象的拷贝,对象的拷贝分为浅拷贝和深拷贝。

浅拷贝
浅拷贝的时候,对于引用类型的属性,拷贝的时候不会新生成对象,而是拷贝对象的地址。

两个对象中的属性的引用是共用一个对象的。

深拷贝
深拷贝的时候,对于引用类型的属性,会为其创建新的对象。

两个对象中的属性是指向不同的对象。

这里创建新的对象指的是 申请新的内存,将对应的数据直接拷贝到新内存中,而不是重新执行初始化。

由于深拷贝会重新创建对象,所以会比浅拷贝要耗时。

浅拷贝的时候,两个引用共享一个对象,修改会影响其他引用。

Java中的clone()

Java中的对象如果想要被拷贝,需要实现Cloneable接口。

clone()方法默认是实现浅拷贝。

如果想要实现深拷贝的话,需要重写clone()方法,自己实现对应的深拷贝,也就是为引用属性重新new 一个对象并赋值。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/531903.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号