在写代码当中,这两者都很常见,单例模式和静态类都能保证对象在全局只有一个实体。但是面试的时候,面试官往往会问,单例模式比静态类有哪些好处呢?为什么要使用单例模式呢?他们两者都可以是线程安全的。
。
1.单例模式是可以继承其他类或者实现其他接口的,而静态类不行。所以单例模式的扩展性更加好。
2.单例模式是有状态的,而静态类是无状态的。这样的话,单例模式就更加符合面向对象的思想。
3.单例对象在对象第一次使用的时候才进行实例化,将实例化延后是为了避免类加载后实例使用前内存的浪费。而静
静态方法的类会在代码编译的时候就被加载。单例模式储存在heap(堆区)而静态类储存在栈区。
以上三点是我对单例模式和静态类的思考。