您的位置:首页 > 其它

设计模式之单例模式

2016-05-19 23:55 260 查看
设计模式一共存在23种

单例模式概念:该对象在系统中只能被实例化一次。

单例模式分为两种:一种是饿汉式,一种是懒汉式。

//单例模式之饿汉式
public class TestSingleton
{
public static void main(String[] args)
{
Singleton singleton1 = Singleton.getSingleton();
Singleton singleton2 = Singleton.getSingleton();
System.out.println(singleton1 == singleton2); // result:ture
}
}

class Singleton
{
// 私有化的构造器,在类的外部不能调用此构造器
private Singleton()
{

}

// 在类的内部创建一个类的实例
private static Singleton singleton = new Singleton();

// 私有化此对象,通过公共方法来调用
// 此公共方法只能通过类来调,因为设置为static,同时类的实例也必须为static的声明
public static Singleton getSingleton()
{
return singleton;
}
}
//=================分割线======================//
//懒汉式   可能存在线程安全问题
public class TestSingleton1
{
public static void main(String[] args)
{
Singleton1 s1 = Singleton1.getSingleton1();
Singleton1 s2 = Singleton1.getSingleton1();
System.out.println(s1 == s2);   //result:true
}
}

class Singleton1
{
private Singleton1()
{
}

private static Singleton1 s1 = null;

public static Singleton1 getSingleton1()
{
if (s1 == null)
{
s1 = new Singleton1();
}
return s1;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  设计模式