• 微信号:Zh-y9213
您当前的位置:爱资源分享网 > > 知识大全 > 建站知识

JAVA分别实现两种单例模式的实例代码

栏目:建站知识时间:2022-11-30 09:16阅读数:68人阅读

JAVA分别实现两种单例模式的实例代码

JAVA分别实现两种单例模式的实例代码,如果对你有帮助就看看吧,一个是JAVA的懒汉单例模式,一个是饿汉单例模式。

恶汉单例模式:

/*
* 设计模式: 解决某一类问题最行之有效的方法。
* java中有23中设计模式。
* 单例设计模式:一个类在内存中只存在一个对象。
*
* 想要保证对象唯一。
* 1.为了避免其他程序过多建立该类对象。先禁止其他程序建立该对象。
* 2.还为了让程序可以访问到该类对象,只要在本类中,自定义一个对象。
* 3.为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式。
*
* 这三步怎么用代码体现呢?
* 1.将构造函数私有化。
* 2.在类中创造一个本类对象。
* 3.提供一个方法可以获取该对象。
*
* 对于事务该怎么描述,还怎么描述
* 当需要将该事物对象保证在内容中唯一时,就将以上的三步加上即可。
* */

class single{
    private int num;
    public void setNum(int num){
        this.num = num;
    }
    public int getNum(){
        return num;
    }
    private single(){
    }
    private static single s = new single();
    public static single shili(){
        return s;
    }
}
public class test6 {
    public static void main(String[] args){
        single s1 = single.shili();
        single s2 = single.shili();
        s1.setNum(23);
        System.out.println(s2.getNum());
    }
}

懒汉单例模式:

/*
* 对象是方法被调用,才被初始化,也叫做对象的延时加载。成为懒汉式,不安全。
* danli类进入内容,对象还没有存在,只有调用了getins方法时。才会建立对象。
* */

class danli{
    private static danli s = null;
    private int num;
    public void setNum(int num){
        this.num = num;
    }
    public int getNum(){
        return num;
    }
    private danli(){};
    public static synchronized danli getins(){
        if (s == null){
            s = new danli();
        }else{
            return s;
        }
        return s;
    }
}

public class test7 {
    public static void main(String[] args){
        danli s1 = danli.getins();
        danli s2 = danli.getins();
        s1.setNum(23);
        System.out.println(s2.getNum());
    }
}


资源均来自第三方,谨慎下载,前往第三方网站下载 解压密码:www.xkwo.com 解压密码:www.xkwo.com 解压密码:www.xkwo.com 解压密码:www.xkwo.com 解压密码:www.xkwo.com 解压密码:www.xkwo.com 解压密码:www.xkwo.com 解压密码:www.xkwo.com 解压密码:123456 或者 aidezy.com

本站所有文章、数据、图片均来自互联网,一切版权均归源网站或源作者所有。

如果侵犯了你的权益请来信告知我们删除。邮箱:737597453@qq.com