プライベートコンストラクタとシングルトン

// 隠れ/ Lunch.java
 //は、クラスのアクセス指定子を示します。クラスが作る
 // プライベートコンストラクタで効果的に民間:

クラスSoup1 {
     プライベートSoup1(){}

    パブリック 静的 Soup1 makeSoup(){ // [1] 
        戻り 新しい)Soup1を(。
    }
}

クラスSoup2 {
     プライベートSoup2(){}

    プライベート 静的 Soup2 PS1 = 新しい Soup2(); // [2]

    パブリック 静的Soup2アクセス(){
         戻りPS1。
    }

    公共 ボイドF(){}
}
// ファイルごとに許可される唯一のpublicクラス:
パブリック クラスのランチ{
     無効testPrivate(){
         // これを行うことはできません!プライベートコンストラクタ:
         // - Soup1スープ=新しいSoup1(); 
    }

    ボイドtestStatic(){
        Soup1スープ = Soup1.makeSoup()。
    }

    ボイドtestSingleton(){
        Soup2.access()F()。
    }
}

なぜプライベートコンストラクタは、オブジェクトの別の新しいクラスにすることはできませんが、独自の新しいクラスで、その理由は、プライベートメソッドは、クラスレベルのアクセスです。これは、以下のリンクは、私が実現する前に、いくつかの一つのケースをまとめたものである、単一の最も例アイデアです。

https://juejin.im/post/5cd186dcf265da034e7ea3a2

おすすめ

転載: www.cnblogs.com/CherryTab/p/11923593.html