検証環境
Checkstyleバージョン:10.3.3
Javaバージョン:17
チェック概要
チェック追加バージョン |
---|
Checkstyle 3.1 |
ユーティリティクラス (staticメソッドまたはstaticフィールドのみを含むクラス) がパブリックコンストラクタを持たないことをチェックする。
ユーティリティクラスはインスタンス化する必要がないため、コンストラクタはprivateかprotected(サブクラス化を許可する場合)のいずれかにする必要がある。
設定+チェック実行結果
設定ファイル記述方法
<module name="Checker"> <module name="TreeWalker"> <module name="HideUtilityClassConstructor"/> </module> </module>
チェック実行例
// NG ユーティリティクラスにpublicなコンストラクタは持たない class MyClass { public MyClass() { } public static void foo() { } } // OK class MyClass { private MyClass() { } static int n; } // NG デフォルトコンストラクタ(public)が定義されている class MyClass { static float f; }