java 懶漢模式以及餓漢模式
阿新 • • 發佈:2019-02-01
1,餓漢模式的方法
public class Singleton {
//1.將構造方法私有化,不允許外部直接建立物件
private Singleton(){
}
//2.建立類的唯一例項,使用private static修飾
private static Singleton instance=new Singleton();
//3.提供一個用於獲取例項的方法,使用public static修飾
public static Singleton getInstance(){
return instance;
}
}
2 ,懶漢模式的方法
public class Singleton2 { //1.將構造方式私有化,不允許外邊直接建立物件 private Singleton2(){ } //2.宣告類的唯一例項,使用private static修飾 private static Singleton2 instance; //3.提供一個用於獲取例項的方法,使用public static修飾 public static Singleton2 getInstance(){ if(instance==null){ instance=new Singleton2(); } return instance; } }
3,測試用例
package com.imooc; public class Test { public static void main(String[] args) { //餓漢模式 Singleton s1=Singleton.getInstance(); Singleton s2=Singleton.getInstance(); if(s1==s2){ System.out.println("s1和s2是同一個例項"); }else{ System.out.println("s1和s2不是同一個例項"); } //懶漢模式 Singleton2 s3=Singleton2.getInstance(); Singleton2 s4=Singleton2.getInstance(); if(s3==s4){ System.out.println("s3和s4是同一個例項"); }else{ System.out.println("S3和s4不是同一個例項"); } } }
很清晰的原始碼,感謝慕課網的老師