何时使用static类(工具类)
来源:互联网 发布:全棉时代 棉柔巾 知乎 编辑:程序博客网 时间:2024/06/05 18:10
一个static类,指全部成员都是static方法构成的,而没有任何成员变量, 也称为Utility class 或者Utility Pattern [参考: Utility Pattern].它可以在程序中直接使用该类的方法,而不用实例化.static class相对单例有更好的性能,原因是它的方法不需要实例方法的动态绑定 (static方法本身不能被复写)。
static类可以看作某一组方法的集合,也能够更好的复用代码.static类各个方法应当是无状态的(stateless),即没有成员变量保存中间状态(结果),每个函数相互独立.所以很多人批评static类是面向过程开发思想的产物,应当极力避免使用。也有人使用某种方法将static看起来更加符合OOP [参考:OOP Alternative to Utility Classes],不过这种争论并没有太大的意义。
static类虽说不会生成实例,但它也会一定的开销,而且是会影响程序初始化过程的。另外也不能带静态成员变量,但如果有一些场景特别需要时,就要注意它对应用性能的影响。可以通过这篇文章了解一下:应用程序启动速度优化。
反观单例模式,它既符合面向对象的思想,也可以做到延迟初始化.但相对的它有稍大的性能开销。如果是频繁使用的对象可能会有些影响。
0 0
- 何时使用static类(工具类)
- static在工具类中的使用
- 何时开始使用IDE工具
- 什么时候使用类方法呢?(静态方法何时使用)
- 多线程编程:何时使用同步类
- 何时基类应该使用虚析构
- 多线程编程:何时使用同步类
- 多线程处理:何时使用同步类
- 多线程编程:何时使用同步类
- 多线程编程:何时使用同步类
- 多线程处理:何时使用同步类
- 怎样和何时使用WeakHashMap类
- 抽象类与接口区别,何时使用
- java中什么时候使用静态static,工具类的创建
- Day01 Static 自定义工具类
- 何时用类?何时用接口?
- 何时用抽象类,何时用接口?
- static 块何时执行
- HDU 5595 GTW likes math
- jQuery插件写法总结以及面向对象方式写法总结
- SpatialHadoop中空间索引系列之(四)空间格网索引实现
- 快速排序
- Git幕后的“故事”
- 何时使用static类(工具类)
- 高效操作字串的String Reference类
- 有时间时可以做个基于OSGEARTH的产品
- Lua笔记
- aix平台安装10.2.0.5的CRS时遇到的bug
- 一个精简服务器
- caffe安装与入门学习
- java国际化——资源包
- 一起talk C栗子吧(第一百二十一回:C语言实例--线程知识体系图)