首页 > 其他 > 详细

设计模式之单例模式

时间:2020-05-25 15:18:26      阅读:38      评论:0      收藏:0      [点我收藏+]

1.懒汉式

 1 package DesignPattern;
 2 //懒汉式单例实现
 3 public class Singleton {
 4 //    定义一个变量来存储已经创建好的类实例
 5     private static Singleton uniqueInstance = null;
 6 //    私有化构造方法
 7     private Singleton(){
 8         System.out.print("懒汉单例");
 9     }
10 //    定义一个方法来为客户端提供类实例
11     public static synchronized Singleton getInstance(){
12         if(uniqueInstance==null){
13             uniqueInstance = new Singleton();
14         }
15         return uniqueInstance;
16     }
17 
18 }

2.饿汉式

 1 package DesignPattern;
 2 //饿汉单例
 3 public class Singleton2 {
 4 //    定义一个变量来存储创建好的类实例,直接在这里创建类实例只能创建一次
 5     private static Singleton2 uniqueInstance = new Singleton2();
 6 //    私有化构造方法
 7     private Singleton2(){
 8         System.out.print("饿汉单例");
 9     }
10 //    定义一个方法来为客户端提供类实例
11 //    构造方法被私有化了,外部创建不了类实例就没有办法调用这个对象的方法,就实现不了功能调用
12 //    单例模式决定让这个类提供一个方法来返回类的实例
13 //    在方法上加上static,这样就可以直接通过类来调用这个方法,而不需要先得到实例
14     public static Singleton2 getInstance(){
15         return uniqueInstance;
16     }
17 }

 3.调用

1 package DesignPattern;
2 
3 public class main {
4     public static void main(String[] args) {
5         Singleton.getInstance();
6         Singleton2.getInstance();
7     }
8 }

 

设计模式之单例模式

原文:https://www.cnblogs.com/jingpeng77/p/12956638.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!