Hide Utility Class Constructor : Utility classes should not have a public or default constructor

前端 未结 10 1241
伪装坚强ぢ
伪装坚强ぢ 2021-01-30 03:51

I am getting this warning on Sonar.I want solution to remove this warning on sonar. My class is like this :

public class FilePathHelper {
    private static Stri         


        
10条回答
  •  盖世英雄少女心
    2021-01-30 04:26

    If this class is only a utility class, you should make the class final and define a private constructor:

    public final class FilePathHelper {
    
       private FilePathHelper() {
          //not called
       }
    }
    

    This prevents the default parameter-less constructor from being used elsewhere in your code. Additionally, you can make the class final, so that it can't be extended in subclasses, which is a best practice for utility classes. Since you declared only a private constructor, other classes wouldn't be able to extend it anyway, but it is still a best practice to mark the class as final.

提交回复
热议问题