java – 为什么要使用单例而不是静态方法?

我从来没有找到好的答案关于帮助/实用程序类的这些简单的问题:

为什么要创建一个单例(无状态)而不是使用静态方法?

如果对象没有状态,为什么需要一个对象实例?

单例用于向应用程序引入某种全局状态。如果是无状态的,我也没有看到使用单例的点,除非

>你期望在可预见的未来延长它与状态
>你需要一个对象实例为某些特定的技术原因(例如,对于C#lock语句,虽然这已经相当牵强)或
>你需要继承,即,你想要能够使用相同的接口,但不同的实现,轻松地用另一个替换单例。例如,Java中的Toolkit.getDefaultToolkit()方法将返回一个单例,其确切类型是系统相关的。

http://stackoverflow.com/questions/2765060/why-use-a-singleton-instead-of-static-methods

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:java – 为什么要使用单例而不是静态方法?