单例类和所有静态成员(即方法和属性)的类之间有什么区别?
我找不到任何一个“所有静态成员类”不能实现与正确实现单例模式的类相同功能的实例?
例如,java.lang.Runtime是一个正确的单例类,而java.lang.System具有所有静态方法以进行访问,并且仅具有私有构造函数以避免外部构造。有人知道为什么像Runtime这样的类被制作为Singleton,而不像java.lang.System一样实现。
这仅仅是因为它会是更干净的设计(即更真实地模仿对象),还是这里有一些性能优势?
我找不到任何一个“所有静态成员类”不能实现与正确实现单例模式的类相同功能的实例?
例如,java.lang.Runtime是一个正确的单例类,而java.lang.System具有所有静态方法以进行访问,并且仅具有私有构造函数以避免外部构造。有人知道为什么像Runtime这样的类被制作为Singleton,而不像java.lang.System一样实现。
这仅仅是因为它会是更干净的设计(即更真实地模仿对象),还是这里有一些性能优势?