ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java 入门24 设计模式 单例

2022-06-25 00:34:12  阅读:198  来源: 互联网

标签:24 Java SingleInstance1 instance SingleInstance static s2 设计模式 public


 

 饿汉单例模式

SingleInstance

package com.ITheima._static_codeblock;

public class SingleInstance {

    /**
     * 1 把无参构造器私有藏起来
     */
    private SingleInstance(){

    }

    /**
     * 2 定义一个公开的静态的成员变量存储一个类的对象
     * 饿汉:在这里加载静态变量的时候就会创建对象了
     */
    public static SingleInstance instance=new SingleInstance();
}
View Code

Test类

package com.ITheima._static_codeblock;

public class Test {
    public static void main(String[] args) {
        SingleInstance s1=SingleInstance.instance;
        SingleInstance s2=SingleInstance.instance;
        SingleInstance s3=SingleInstance.instance;

        System.out.println(s1);
        System.out.println(s2);
        System.out.println(s3);

        System.out.println(s1 == s2 && s2 == s3);//true


    }
}
View Code

 

懒汉单例模式

 

 SingleInstance1类

package com.ITheima._static_codeblock;

public class SingleInstance1 {

    //1 私有化构造器
    private SingleInstance1() {

    }

    //2 创建一个静态的成员变量存储类的对象,注意此时不能初始化对象
    private static SingleInstance1 instance = null;

    //3定义一个方法 ,让其他地方可以来调用获取一个对象
    public static SingleInstance1 getInstance() {
        //第一次获取对象
        if (instance == null) {
            instance = new SingleInstance1();
        }
        return instance;
    }
}
View Code

Test1类

package com.ITheima._static_codeblock;

public class Test1 {
    public static void main(String[] args) {
        SingleInstance1 s1 = SingleInstance1.getInstance();
        SingleInstance1 s2 = SingleInstance1.getInstance();
        SingleInstance1 s3 = SingleInstance1.getInstance();


        System.out.println(s1 == s2 && s2 == s3);//true

    }
}
View Code

 

标签:24,Java,SingleInstance1,instance,SingleInstance,static,s2,设计模式,public
来源: https://www.cnblogs.com/lvlisn/p/16410575.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有