码迷,mamicode.com
首页 > 编程语言 > 详细

java—单例设计模式

时间:2015-07-26 19:04:49      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:

单例设计模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。

1、构造方法私有化

2、声明一个本类对象

3、给外部提供一个静态方法获取对象实例

什么时候使用?

1、通过在工具类的设计中使用;

2、当一个类中没有属性;

3、该类作为工具类使用非常频繁。

两种方式:

一、饿汉式

 1 package practice1;
 2 //单例模式
 3 public class Test7 {
 4     public static void main(String[] args) {
 5         Singleton s=Singleton.getInstance();
 6         s.method();
 7     }
 8 }
 9 class Singleton{
10     private static Singleton singleton=new Singleton();//定义时就创建对象
11     private Singleton(){//构造方法私有化    
12     }
13     public static Singleton getInstance(){//给外部提供一个全局访问点,静态方法
14         return singleton;
15     }
16     public void method(){//测试方法
17         System.out.println("method");
18     }
19 }

饿汉式在类创建的同时就已经创建好一个静态的对象供系统使用,以后不再改变,所以是线程安全的。

 

二、懒汉式

class Singleton2{
    private static Singleton2 singleton2=null;//定义时不直接创建
    private Singleton2(){}//构造方法私有化
    public static Singleton2 getInstance(){
        if(singleton2==null){
            singleton2=new Singleton2();
        }
        return singleton2;
    }
    public void method(){//测试方法
        System.out.println("method");
    }
}

 

java—单例设计模式

标签:

原文地址:http://www.cnblogs.com/chenxing818/p/4678332.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!