经常我们都会使用单例,而有时候我们又会贪图方便而使用一个类然后全部都使用静态方法。那么,到底什么时候我们才应该使用这种都是静态方法的类呢(注:java没有静态类)?
- 所有方法都是一些工具类的方法,如
Math
类 - 不希望被gc回收又不想自己去处理实例。
- 很确定这个类将来也不会是有状态的(stateful)而且你确定你不需要多个实例。
注:
如果我们使用单例模式的话,将来假如我们需要多个实例,将非常轻松的改变,但是使用static方法的类就不行。而且使用单例的话,将很好地利用继承、多态等方法。
stackoverflow相关讨论: