java设计模式之单例模式

 本文属于原创内容,如需转载请标明来源。

单例模式属于java设计模式的一种,最常见实现方式有以下几种 懒汉、饿汉、双重检查单例、静态内部类单例。

单例模式的特点:

1:单例类只能有一个实例

2:单例类的唯一实例化必须由自己完成

3:单例类给其他对象提供唯一实例

如何保证第一个和第三个特点呢->2个实例化的对象相等说明是同一实例化对象

复制代码
 1 public class SingletonTest {  2      3     public static void main(String[] args) {  4         Singleton singleton1=Singleton.getInstance();  5         Singleton singleton2=Singleton.getInstance();  6         /* 7          * 利用Set的特性检验2个对象是同一个实例  8          * 输出1代表这两个变量代表的同一个实例对象  9          *  10          */11         Set<Singleton> set=new HashSet<Singleton>(); 12         set.add(singleton1); 13         set.add(singleton2); 14         System.out.println("set长度"+set.size()); 15         //set长度116     } 17 }
复制代码

如何理解第二个特点:单例类是的实例化必须由自己完成->私有化构造器

复制代码
private Singleton() {   }
复制代码
复制代码
 1 package com.innerclass;  2  3 public class SingletonTest {  4      5     public static void main(String[] args) {  6         //我们在同包中创建一个其他类 并尝试创建Singleton实例 得的一个错误  7         //The constructor Singleton() is not visible  8         //构造方法Singleton() 是不可见的 也就是说我们无法创建Singleton的实例对象 9         Singleton singleton=new Singleton(); 10         11     } 12 }
复制代码
    关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信