第4条:私有構造によるインスタンス化不可能な能力の強化

511 ワード

開発では、いくつかのツールクラスなど、静的メソッドと静的ドメインのみを含むクラスを記述する必要がある場合があります.これらのツールクラスは、インスタンスがそれらに意味を持たないため、インスタンス化されたくない.ただし、コンストラクタが表示されない場合、コンパイラは自動的に共有され、パラメータのないデフォルトコンストラクタを提供します.
どうやってこの問題を解決しますか?クラスに表示されるコンストラクタが含まれていない場合にのみ、コンパイラはデフォルトのコンストラクタを生存するため、クラスにプライベートなコンストラクタを提供できます.


public class Utils(){

    private Utils(){
      throw new AssertionError();
      //AssertionError     ,                    ;
     }

}