首页 > 学院 > 开发设计 > 正文

设计模式-单例模式

2019-11-15 00:02:50
字体:
来源:转载
供稿:网友
设计模式-单例模式

单例模式-饿汉模式

1、将构造方法私有化,不允许外部直接创建对象 PRivate Singleton(){}2、自己在类的内部创建一个唯一实例 private static Singleton instance = new Singleton();3、提供一个用于获取实例的方法 public static Singleton getInstance(){return instance};

public class Singleton{ private static Singleton instance=new Singleton(); private Singleton(){}
public staitc Singleto getInstance(){   return instance; } }

单例模式-懒汉模式

1.构造函数私有化

2.创建类的唯一实例静态成员变量(为null)

3.创建获取单一实例的静态成员方法 区别在于实例本身产生的时间(类加载时还是类使用时)

public class Singleton{ private Singleton(){}private static Singleton instance; public static Singleton getInstance(){   if(instance==null){     return new Singleton();   } else {    return instance;   } }

区别:饿汉式:声明的同时直接实例化。 特点:加载类时比较慢,但运行时获取对象的速度比较快,线程安全。懒汉式:声明的时候不实例化。 特点:加载类时比较快,但运行时获取对象的速度比较慢,线程不安全。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表