如果一个类没有状态,那么所有方法都应该是静态的吗?

Kor*_*gay 9 java oop static

假设我有一个Helper类,有几个方法

public class SomeClassesHelperClass(){

    public List removeDuplicatesFromTheGivenList(List someList){
    // code here 
    }

    public int returnNumberOfObjectsThatHaveSomeSpecialState(List someList){
    // code here
    }
}
Run Code Online (Sandbox Code Playgroud)

使这个类中的方法静态的优点/缺点是什么?哪种更好的做法?

Kon*_*kov 10

如果你的班级提供实用方法(比如你的),我相信最好:

  • 上课final(没有必要扩展它)
  • 定义private构造函数以避免任何尝试创建类的实例
  • 制作所有方法static.