ToB企服应用市场:ToB评测及商务社交产业平台

标题: Java 入门24 设计模式 单例 [打印本页]

作者: 水军大提督    时间: 2022-8-9 18:51
标题: Java 入门24 设计模式 单例
 
 饿汉单例模式

SingleInstance
  1. package com.ITheima._static_codeblock;
  2. public class SingleInstance {
  3.     /**
  4.      * 1 把无参构造器私有藏起来
  5.      */
  6.     private SingleInstance(){
  7.     }
  8.     /**
  9.      * 2 定义一个公开的静态的成员变量存储一个类的对象
  10.      * 饿汉:在这里加载静态变量的时候就会创建对象了
  11.      */
  12.     public static SingleInstance instance=new SingleInstance();
  13. }
复制代码
View CodeTest类
  1. package com.ITheima._static_codeblock;
  2. public class Test {
  3.     public static void main(String[] args) {
  4.         SingleInstance s1=SingleInstance.instance;
  5.         SingleInstance s2=SingleInstance.instance;
  6.         SingleInstance s3=SingleInstance.instance;
  7.         System.out.println(s1);
  8.         System.out.println(s2);
  9.         System.out.println(s3);
  10.         System.out.println(s1 == s2 && s2 == s3);//true
  11.     }
  12. }
复制代码
View Code 
懒汉单例模式

 
 SingleInstance1类
  1. package com.ITheima._static_codeblock;
  2. public class SingleInstance1 {
  3.     //1 私有化构造器
  4.     private SingleInstance1() {
  5.     }
  6.     //2 创建一个静态的成员变量存储类的对象,注意此时不能初始化对象
  7.     private static SingleInstance1 instance = null;
  8.     //3定义一个方法 ,让其他地方可以来调用获取一个对象
  9.     public static SingleInstance1 getInstance() {
  10.         //第一次获取对象
  11.         if (instance == null) {
  12.             instance = new SingleInstance1();
  13.         }
  14.         return instance;
  15.     }
  16. }
复制代码
View CodeTest1类
  1. package com.ITheima._static_codeblock;
  2. public class Test1 {
  3.     public static void main(String[] args) {
  4.         SingleInstance1 s1 = SingleInstance1.getInstance();
  5.         SingleInstance1 s2 = SingleInstance1.getInstance();
  6.         SingleInstance1 s3 = SingleInstance1.getInstance();
  7.         System.out.println(s1 == s2 && s2 == s3);//true
  8.     }
  9. }
复制代码
View Code 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4