我设置我的编译器以警告我可以变为静态的方法。
这些方法主要是一些辅助工具来进行计算,设置传递对象的属性等等。
我应该将它们设为静态,还是这表示我的编码风格是城市(CN)?
答案 0 :(得分:5)
要谨慎使用静态方法来处理以后要提取的内容。静态方法不支持交换实现,因为在使用类和实现类之间有一个硬链接。
话虽如此,我认为静态方法仍然适合(实用类)。
答案 1 :(得分:2)
一般来说,实用方法和属于该类的其他东西应该是静态的。面对一个不访问实例状态的方法,您应该问自己,但是在将静态设置为静态之前,子类是否可以合理地覆盖提供状态相关实现的方法。
答案 2 :(得分:1)
所有无状态实用程序类都应该是静态的。大师,如果我错了,请纠正我:无状态静态方法(没有全局/静态变量用法)是线程安全的!
答案 3 :(得分:1)
将方法设为静态可能是一种很好的做法,因为您知道静态方法不需要访问任何实例数据。因此,它的性能提升也很小。