![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
ZJLZJLhyy
这个作者很懒,什么都没留下…
展开
-
java深克隆实现方式
方法1:重写clone()方法 在方法里将对象成员变量中的引用类型也clone一份,并将clone的对象的引用指向clone的引用对象; 以Sheep类为例代码如下 import java.util.Date; public class Sheep { private String name; private Date createTime; public Sheep(String name, Date createTime) { this.name = name;原创 2020-11-04 20:41:32 · 782 阅读 · 0 评论 -
建造者模式
简述 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 分离了对象子组件的单独构造(由Builder来负责)和装配(由Director负责)。 从而可以构 造出复杂的对象。这个模式适用于:某个对象的构建过程复杂的情况下使用。 代码描述 - 手机类 public class Phone { private Screen screen; private Shell shell; private Cpu cpu; public Screen getSc原创 2020-11-03 22:20:38 · 109 阅读 · 0 评论 -
工厂模式【简单工厂模式,工厂方法模式。抽象工厂模式】
简单工厂模式 通过phoneFactory创建手机对象【实现简单,不易扩展】 手机类 package SimpleFactory; //手机 public interface Phone { void call(); void sendMessage(); } package SimpleFactory; //苹果手机 public class Iphone implements Phone { @Override public void call() {原创 2020-11-03 21:42:06 · 104 阅读 · 0 评论 -
单例模式中防止反射和反序列化创建新对象的处理办法
DEMO import java.io.Serializable; public class SingletonDemo implements Serializable { private static SingletonDemo instance; //私有构造方法 private SingletonDemo() { //防止反射 if(instance!=null) throw new RuntimeExceptio原创 2020-11-02 21:26:05 · 329 阅读 · 0 评论 -
单例模式5种实现方法
俄汉式(不能懒加载) /** * 优点:线程安全,调用效率较高 * 缺点:不能懒加载 */ public class Sinleton { //1.私有化构造器 private Sinleton() { } //2.立即加载对象 private static Sinleton instance = new Sinleton(); //3.提供访问接口 public static Sinleton getInstance(){原创 2020-11-02 19:59:21 · 138 阅读 · 0 评论 -
单例模式的实现方式(懒汉模式、俄汉模式,java语言)
饿汉模式 优点:线程安全,调用效率较高 缺点:不能懒加载 实现方式 /** * 优点:线程安全,调用效率较高 * 缺点:不能懒加载 */ public class Sinleton { //1.私有化构造器 private Sinleton() { } //2.立即加载对象 private static Sinleton instance = new Sinleton(); //3.提供访问接口 public static Sinleton原创 2020-08-19 20:27:36 · 159 阅读 · 0 评论