单例模式

始终只能创建一个实例。

用private 修饰构造器,将构造器隐藏起来,提供一个public方法用于创建该类的对象,且该方法必须用static 修饰(调用该方法前还不存在对象,调用该方法的不能是对象,只能是类)。
 
构造器用于创建实例时执行初始化,是创建对象的重要途径。在执行构造器前系统先为他分配空间,并为这个对象默认初始化,只不过不能被外部程序访问,只能在构造器中通过this来访问。这个对象被作为构造函数的返回值被返回。
 
懒汉式:public class SingleTon {
 
private static SingleTon s;
private SingleTon(){
 
}
public synchronized static SingleTon getInstance(){
if(s==null){
s=new SingleTon();
}
return s;
}
}
饿汉式:
public class SingleTon {
 
private static SingleTon s=new SingleTon();
private SingleTon(){
 
}
public synchronized static SingleTon getInstance(){
return s;
}
}
 
测试类:public class SingleTonTest {
 
public static void main(String[] args) {
 
SingleTon s1=SingleTon.getInstance();
SingleTon s2=SingleTon.getInstance();
System.out.println(s1==s2);
}
 
}
posted @ 2018-02-09 14:18  -1℃  阅读(67)  评论(0编辑  收藏  举报