Javaのクラスをコンストラクタで明示的にインスタンス化不可能にする

Javaのクラスをコンストラクタで明示的にインスタンス化不可能にする

Javaのクラスでユーティリティクラスなどはインスタンス化する必要がありません。

このようなクラスは明示的にインスタンス生成できないようにしておきます。

具体的にはコンストラクタをprivateにするだけです。これでインスタンス化できなくなります。

public final class XXUtils {
  // privateなコンストラクタ
  private XXUtils(){}
}

また一般的にはユーティリティクラスにはfinal修飾子をつけるべきです。

ちなみに、インスタンス化させないだけなら、抽象クラスもインスタンス化することはできません。

public abstract class ClsA{
}

コメント

タイトルとURLをコピーしました