JAva-単一設計モード
4333 ワード
単一設計モード:クラスにインスタンスが1つしかないことを保証し、そのグローバルアクセスポイントにアクセスします.
1、構造方法の私有化
2、本クラスのオブジェクトを宣言する
3、外部に静的方法を提供してオブジェクトインスタンスを取得する
いつ使いますか.
1、工具類の設計で使用する.
2、一つのクラスに属性がない場合.
3、このクラスはツールクラスとして非常に頻繁に使用されている.
2つの方法:
一、餓漢式
餓漢式はクラスの作成と同時に静的なオブジェクトをシステムで使用するために作成したので、後で変更しないので、スレッドは安全です.
二、怠け者式
1、構造方法の私有化
2、本クラスのオブジェクトを宣言する
3、外部に静的方法を提供してオブジェクトインスタンスを取得する
いつ使いますか.
1、工具類の設計で使用する.
2、一つのクラスに属性がない場合.
3、このクラスはツールクラスとして非常に頻繁に使用されている.
2つの方法:
一、餓漢式
1 package practice1; 2 //
3 public class Test7 { 4 public static void main(String[] args) { 5 Singleton s=Singleton.getInstance(); 6 s.method(); 7 } 8 } 9 class Singleton{ 10 private static Singleton singleton=new Singleton();//
11 private Singleton(){//
12 } 13 public static Singleton getInstance(){// ,
14 return singleton; 15 } 16 public void method(){//
17 System.out.println("method"); 18 } 19 }
餓漢式はクラスの作成と同時に静的なオブジェクトをシステムで使用するために作成したので、後で変更しないので、スレッドは安全です.
二、怠け者式
class Singleton2{ private static Singleton2 singleton2=null;// private Singleton2(){}//
public static Singleton2 getInstance(){ if(singleton2==null){ singleton2=new Singleton2(); } return singleton2; } public void method(){//
System.out.println("method"); } }