面试题目 Static 的使用案例:单例模式

来源:互联网 发布:淘宝出售假冒申诉材料 编辑:程序博客网 时间:2024/06/07 08:16

单例模式:一个类只产生一个对象


public class SingletonTest 

{
public static void main(String [] args)
{
SingletonClass c = SingletonClass.getInstance();
SingletonClass c2 = SingletonClass.getInstance();
System.out.println(c==c2);

LazySingletonClass l = LazySingletonClass.getInstance();
LazySingletonClass l2 = LazySingletonClass.getInstance();
System.out.println(l==l2);
}

}


//饿汉模式
class SingletonClass
{
private SingletonClass(){}

private static SingletonClass instance = new SingletonClass();

public static SingletonClass getInstance()
{
return instance;
}
}
//懒汉模式
class LazySingletonClass
{
private LazySingletonClass(){}

private static LazySingletonClass instance = null;

public static LazySingletonClass getInstance()
{
if(instance == null)
{
instance = new LazySingletonClass();
return instance;
}
else
{
return instance;
}
}

}


输出结果:true

true

0 0
原创粉丝点击