Javaのプライベートコンストラクタ


Javaでは、コンストラクターはクラス名またはファイル名と同じ名前を持つメソッドの特別な型です.
そして、私たちがオブジェクトを呼ぶとき、内部のコンストラクタは常に呼ばれています、基本的にそれはオブジェクトの状態またはクラスの変数値を初期化するのに使用されます.
では、プライベートコンストラクタとは
Javaは私たちの使用に基づいてメソッドを変更することができます.
したがって、コンストラクタを他の方法と同じようにプライベートにできますか?そして、はいならば!次に、プライベートコンストラクターの使用方法は?
それをチェックしましょう!
そのため、プライベートアクセスコンストラクターとしてJavaでコンストラクタを宣言することができます.そして、最も重要なことは、私たちが個人として建設者を宣言するならば、我々がクラスのオブジェクトをつくることができないという絵に入ります.代わりに、このプライベートコンストラクターをSingleton Design Patternで使用できます.
個人の建設者のために規則をチェックしましょう
  • それはクラスをサブクラスでなければなりません
  • それはクラス
  • の外でオブジェクトを作成するのを許しません
  • クラスがプライベートコンストラクターを持ち、クラスを拡張しようとすると、コンパイル時エラーが発生します.
  • 他のクラスからプライベートコンストラクターにアクセスできません.
  • すべての定数メソッドが私たちのクラスにあるなら、私たちはプライベートコンストラクタを使用できます.
  • すべてのメソッドが静的であれば、プライベートコンストラクターを使用できます.
  • オブジェクトが初期化されていない場合、プライベート関数を呼び出すことができます.
  • オブジェクトが既に初期化されている場合、そのオブジェクトのインスタンスだけを返すことができます.
  • public class PrivateConstructorDemo   
    {  
         //creating an instance variable of the class Tester  
         private static PrivateConstructorDemo pcd;  
         //creating a private constructor  
         private PrivateConstructorDemo()  
         {  
         }  
        //creating a static method named getInstance()  
        public static PrivateConstructorDemo getInstance()  
        {  
           if(pcd == null)  
           {  
            //creating a constructor of the class      
            pcd = new PrivateConstructorDemo();  
           }  
         return pcd;  
        }  
        //main() method  
        public static void main(String args[])   
        {  
         PrivateConstructorDemo pcd = PrivateConstructorDemo.getInstance();  
        PrivateConstructorDemo pcd1 = PrivateConstructorDemo.getInstance();  
        //invokes the getInstance() method and prints the corresponding result  
        System.out.println(pcd.equals(pcd1));  
       }    
    }  
    
    出力
    true
    
    民間業者のユースケースを見てみよう
    プライベートコンストラクターを使用する主な目的は、オブジェクトの作成を制限することです.また、Singleton design patternを実装するために、プライベートコンストラクターを使用します.プライベートコンストラクターのユースケースは次のとおりです.
  • 静的メンバーのみのクラスで使用できます.
  • 静的ユーティリティまたは定数クラスで使用できます.
  • また、Singletonクラスを作成するために使用することができます.
  • それは工場のメソッドを使用して名前、例えば作成を割り当てるために使用することができます.
  • はサブクラスを避けるためにも使われます.
  • それは工場の方法を取り入れている.
  • 今すぐJavaのコンストラクタについての詳細を探索するための時間です.