第21章《单例模式》

前端之家收集整理的这篇文章主要介绍了第21章《单例模式》前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

方法。

方法

方法,从而避免创建其它类创建它的实例。

调用它的方法;但是单例是有状态的,单例的创建过程就是先判断是否为null,然后才确定要不要创建它的实例。

方法、属性的集合;单例有自己的对象实例。

代码时,被初始化。

代码写在类的构造函数里面。也就是在执行完类的静态代码后,再执行类的构造器函数时,创建单例实例。

调用时,分配内存;

class  SingleTon{
private static SingleTon singleTon=null;
private SingleTon(){}
public static SingleTon getSingleTon(){
if(singleTon==null){
singleTon=new SingleTon();
}
return singleTon;
}
}
public class Main{
public static void main(String[] args) throws Exception {
SingleTon s1=SingleTon.getSingleTon();
SingleTon s2=SingleTon.getSingleTon();
System.out.println(s1==s2);//true,说明二者内存地址相同,所以二者肯定是同一个对象,所以保证了类的单例存在
}
}

class  SingleTon{
private static SingleTon singleTon=null;

private SingleTon(){}
synchronized public static SingleTon getSingleTon(){
    if(singleTon==null){
        singleTon=new SingleTon();
    }
    return singleTon;
}

}
public class Main{
public static void main(String[] args) throws Exception {
SingleTon s1=SingleTon.getSingleTon();
SingleTon s2=SingleTon.getSingleTon();
System.out.println(s1==s2);//true,所以保证了类的单例存在
}
}

class  SingleTon{
private static SingleTon singleTon=new SingleTon();
private SingleTon(){}
public static SingleTon getSingleTon(){
return singleTon;
}
}
public class Main{
public static void main(String[] args) throws Exception {
SingleTon s1=SingleTon.getSingleTon();
SingleTon s2=SingleTon.getSingleTon();
System.out.println(s1==s2);//true,所以保证了类的单例存在
}
}

class  SingleTon{
private static SingleTon singleTon=null;
private SingleTon(){
singleTon=new SingleTon();
}
public static SingleTon getSingleTon(){
return singleTon;
}
}
public class Main{
public static void main(String[] args) throws Exception {
SingleTon s1=SingleTon.getSingleTon();
SingleTon s2=SingleTon.getSingleTon();
System.out.println(s1==s2);//true,所以保证了类的单例存在
}
}

猜你在找的设计模式相关文章