Sco*_*nce 33 language-agnostic static
另外,静态方法比实例方法有任何性能优势吗?
我最近遇到了以下内容:http://www.cafeaulait.org/course/week4/22.html:
方法何时应该是静态的?
- 既不读取也不写入实例字段
- 独立于对象的状态
- 接受参数的数学方法,将算法应用于这些参数,并返回值
- 用于代替构造函数的工厂方法
我对Stack Overflow社区的反馈非常感兴趣.
Tom*_*ine 22
当方法不是实例的一部分时,使方法静态.不要为微观优化而烦恼.
您可能会发现有许多私有方法可能是静态的,但您总是从实例方法(或彼此)调用.在那种情况下,这并不重要.但是,如果您希望实际能够测试代码,并且可能从其他地方使用它,您可能需要考虑在不同的,不可实例化的类中创建这些静态方法.
Kyl*_*nin 19
方法是否是静态的更多是设计考虑而不是效率.静态方法属于一个类,其中非静态方法属于一个对象.如果您有Math类,则可能有一些静态方法来处理加法和减法,因为这些是与Math相关的概念.但是,如果你有一个Car类,你可能会有一些非静态方法来改变齿轮和转向,因为它们与特定的汽车相关联,而不是一般的汽车概念.