Java原型模式(思维导图)

图1 原型模式【点击查看大图】

1,原型对象

public class Prototype implements Cloneable{
    public Prototype clone(){
        Prototype prototype=null;
        try{
            prototype=(Prototype)super.clone();
        }catch (CloneNotSupportedException e){
            e.printStackTrace();
        }
        return prototype;
    }
}

class ConcretePrototype extends Prototype {
    private int num= (int) (Math.random()*100);
    public void show() {
        System.out.println("原型模式实现类-"+num);
    }
}

2,测试验证

public class Client {
    public static void main(String[] args) {
        ConcretePrototype cp=new ConcretePrototype();
        for(int i=0;i<10;i++){
            ConcretePrototype clonecp=(ConcretePrototype) cp.clone();
            clonecp.show();
        }
    }
}

3,关于原型模式与单例模式冲突的原因

首先:单例模式是只能产生一个实例化对象,构造方法私有化,不能通过普通的方法进行实例化。

如果想要获取新的实例化对象,要怎么办呢?

  ①直接跳过无视私有化构造:反射机制

  ②我压根不新建立一个实例化对象,跳过私有化构造,我直接进行开辟新空间的数据深拷贝:原型模式

  以上两种方法都可以无视单例模式,获取多个实例化对象。

原文地址:https://www.cnblogs.com/Mufasa/p/11387347.html

时间: 2024-08-06 10:44:16

Java原型模式(思维导图)的相关文章

Java基础学习—思维导图

找到两张Java学习的思维导图,特别适合我这样的菜鸟学习,贴过来和小伙伴分享.

Java EE 课程作业(third)- 关于 Java EE的思维导图

所用到的软件:Xmind 所参考的思维导图:http://www.codeweblog.com/j2ee%E7%9F%A5%E8%AF%86%E4%BD%93%E7%B3%BB%E6%80%9D%E7%BB%B4%E5%AF%BC%E5%9B%BE/ 我所制作的关于Java EE的思维导图: 原文地址:https://www.cnblogs.com/Keiko-Hh/p/8521697.html

Java多线程(思维导图)

1, 2, 3,常用函数 Semaphore import java.util.concurrent.Semaphore;Semaphore name=new Semaphore(n); name.acquire(n1); acquire.release(n2); lock中的wait,notify,notifyAll 4,相关例题 Answer-1: 解决办法: 注意这里使用lock-synchronized同步以及屏障 package com.cnblogs.mufasa.demo1.Ans

Java并发(思维导图)【dealine2019.08.31】

1,线程状态转换 无限期等待: 限期等待: 线程生命流程: 2,实现方式 代码实现样例[三种方式]: package com.cnblogs.mufasa.demo2; import java.util.concurrent.Callable; public class test1_Runnable implements Runnable{ @Override public void run() { for(int i=0;i<50;i++){ System.out.println("当前

java基础思维导图,让java不再难懂

java基础思维导图,让java不再难懂 原链接:https://my.oschina.net/u/3080373/blog/873056#0-sqq-1-75211-9737f6f9e09dfaf5d3fd14d775bfee85 思维导图的好处 最近看了一些文章的思维导图,发现思维导图真是个强大的工具.了解了思维导图的作用之后,觉得把它运用到java上应该是个不错的想法,这样回顾知识点的时候一目了然,快速知道自己的短板. 思维导图不仅仅只有简单明了这个好处,它还能加深人对主题的印象和理解,能

Java相关思维导图分享

非常多朋友都给我发私信希望获得一份Java知识的思维导图,我来不及一一答复.原先是给大家一个百度网盘的链接分享,大家能够自己去下载,可是不知道云盘还能用多久.把相关资源转移到了QQ的群共享中.须要的朋友能够參考置顶帖.增加"Java技术交流"群获取相关资源,给大家带来的不便请原谅,可是保证思维导图中的内容非常的全,包含Java基础.高级.Web.Spring.Hibernate.MyBatis.Oracle等内容.请加群下载,谢谢!

轻松认识JVM运行时数据区域(使用思维导图)

下面是个人阅读周志明编写的深入浅出Java虚拟机做成思维导图的笔记,线条.颜色和图片的视觉印象比起单纯文字笔记好得太多了,文字笔记的枯燥以及硬性记忆我就不再多说,特别对于JVM这块略微有点枯燥的知识,更加需要采取更好的方式来认识它.思维导图的模式更加符合大脑认识事物的流程.我将重点的知识抽取出来,又尽量把详细知识描述上去.

思维导图之JVM运行时数据区域

下面是个人阅读周志明编写的深入浅出Java虚拟机做成思维导图的笔记,线条.颜色和图片的视觉印象比起单纯文字笔记好得太多了,文字笔记的枯燥以及硬性记忆我就不再多说,特别对于JVM这块略微有点枯燥的知识,更加需要采取更好的方式来认识它.思维导图的模式更加符合大脑认识事物的流程.我将重点的知识抽取出来,又尽量把详细知识描述上去.

JavaScript对象、原型、原型链知识总结思维导图

这个思维导图是我对Object,原型,原型链等知识的总结,主要参考高程一书第六章,写完才发现这么多,以后可能会进行精简.内容可能会出现差错,欢迎批评指正.下载==>Github ECMAScript支持面向对象(OO)编程,但不使用类或者接口.对象可以在代码执行过程中创建和增强,因此具有动态性而非严格定义的实体.在没有类的情况下,可以采用下列模式创建对象. 工厂模式,使用简单的函数创建对象,为对象添加属性和方法,然后返回对象.这个模式后来被构造函数模式所取代. 构造函数模式,可以创建自定义引用类

java基础思维导图

1.Java 简介.png 2.java主要特性.png 3.java发展历史.png 4.java 开发环境配置.png 5.java 基础语法.png 6.java基本概念.png 7.java面对对象 .png 8.java面对对象三大特性.png 9.java面对对象C.png 10.java基本数据类型.png 11.java基本数据类型.png 12.Java 变量类型.png 13.java修饰符.png 14.java运算符A.png 15.java运算符B.png 16.jav