ユティリティークラス

最終更新日24 Sep 2013 08:26

いうなれば、便利クラス。
たとえば、

  • java.lang.Math
  • java.util.Arrays

のように、基本データ型や、配列に対する関連したメソッドをまとめるのに使用するようなクラスのこと。
他にも、

  • java.util.Collections

のように、特定のインタフェースを実装したオブジェクトに対するファクトリーメソッドを含むstaticメソッドをまとめるのにも使用できる。

ユーティリティクラスの使い方

たとえば、java.lang.Mathだったらこんなふうに使う

int num = -10;
int abs_num = Math.abs(num);

インスタンスを作ることなく、常にクラス名.関数()という風に書いて使うのだ。

ユーティリティークラスの作り方

このようなユティリティークラスインスタンス化できるようには設計されていません
つまり、インスタンスには意味がありません。

インスタンス化できないようにするには?

  • privateな空コンストラクタを作ること
package singleton;
//インスタンス化できないユティリティークラス
public class UtilityClass {
    //インスタンス化できないようにするためにデフォルトコンストラクタを抑制する
    private UtilityClass(){}
 
}

これにより
  • サブクラスの作成禁止!

という副作用も得ることができる。

Bibliography


files

サポートサイト Wikidot.com