这里,只讨论区别,不讨论用法。
我更关心的是,什么时候,该用什么,用哪种更合适。
静态类(static) | 单例(Singleton) | |
级别: | 类级别 | 对象级别 |
特点: | 独一份 |
独一份 保持一个全局一致的对象实例 |
内存存储: | 一份类 | 一份类 一份实例 |
限制: | 只能维护静态的属性、方法 | 无限制 |
限制: | 不可继承,重载,不能实现接口 | 无限制 |
初始化: | 可被延迟初始化 | 可被延迟初始化 |
内部实现: | static | 单例的内部实现,也是static |
多线程并发访问: | 相当 | 相当 |
性能: | 相当 | 相当 |
比较来,比较去,仍然没看到大的区别。。。还有什么没想到的。。
再议单例模式和静态类:http://raychase.iteye.com/blog/1471015