java 克隆对象_原型模式,克隆就在我们身边

作者 | Java圣斗士 | 原创图文 ,转载请注明出处

全文1000字,阅读需要5分钟

fdf09e70967e562dd0c106cd315859b5.png

哈喽,大家好,我是又皮又可爱的Java圣斗士,关注我,每天带你飞!

今天我们来聊一聊原型模式

原型模式应该算是比较简单的一种设计模式,其实一个词就可以概括,那就是——克隆对象!

我们经常在各种影视作品中看到“克隆”这个科技元素,是不是十分带感呢?我记得小时候最令我震撼的克隆电影就是州长的《第六日》,里面讲述了一个......

咳咳咳,跑题了,总之这个电影挺不错的,建议大家可以找来看看。

c2fc4f7e63371e16be819a9037591e4b.png

一、克隆其实很简单

原型模式的克隆对象是什么意思呢?没错,其实和克隆人一样,将对象进行一种克隆,节约创建对象所产生的开支。

那有的小伙伴要问了,为什么要克隆对象,直接 new 来创建对象不就OK了?

这里就需要引出原型模式的应用场景。

在实际生产中,往往会出现这样的应用场景。需要创建一定数目的某种对象,但是手工new的话可能不太方便,那么我们就可以使用这种原型模式来进行对象的创建,省去了对象属性的赋值,因为在使用原型模式的时候就已经将全部属性进行了拷贝。

3724074b83459d793928f82d70629c44.png

二、Let me show you code

原型模式的实现过程非常简单。首先,我们需要让希望能够拷贝的类实现Cloneable接口:

public class MyEntry implements Cloneable {

这一步是必须的,Cloneable接口是一个标记接口,其内部没有任何抽象方法:

public interface Cloneable {}

这个接口只是为了表名当使用Object.clone()方法时是合法的,并且允许执行属性的拷贝。

为了能够体现普遍性,我们在MyEntry类中依赖一个Part对象,这个Part是一个引用类型,然后再在其内部依赖一个内部类:

public class Part {private String partName;private int score;private Inner inner = new Inner("inner
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值