您如何看待使用私有静态方法?
就个人而言,我更喜欢使用静态私有方法而不是非静态方法,只要它不需要访问任何实例字段即可。
但是我听说这种做法违反了OOP原则。
编辑:我想从样式的角度来看,而不是性能。
一个private static
方法本身本身并没有违反OOP,但是当类上有很多不需要(也不能*)访问实例字段的方法时,您就不会以OO方式进行编程,因为“对象”表示状态+一起定义的状态操作。如果这些方法不需要任何状态,为什么还要将它们放在该类上?
(*)=原则上,由于Java中的类级别可见性,所以类上的静态方法可以访问该类对象的实例字段,例如:
class Test
{
int field = 123;
private static void accessInstance(Test test)
{
System.out.println(test.field);
}
}
当然,您需要自己将引用传递给实例(this
指针),但实际上,您是在模仿实例方法。仅出于完整性而提及此内容。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句