使用私有静态方法

安德烈(Andrey Vityuk):

您如何看待使用私有静态方法

就个人而言,我更喜欢使用静态私有方法而不是非静态方法,只要它不需要访问任何实例字段即可。

但是我听说这种做法违反了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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python:默认使用私有静态方法

使用私有静态方法的优点

是否有必要使用私有静态方法?

如何使用PowerMockito模拟私有静态方法?

如何使用反射(Java)调用私有静态方法?

使用Mockito:在私有静态方法中匹配多个参数?

测试使用私有静态类的对象列表的方法

测试内部使用Java中另一个私有静态方法的私有静态方法

私有静态和私有方法的困境

如何使用反射在静态类中找到私有静态方法?

私有类中的静态方法

测试私有静态方法抛出MissingMethodException

Java静态方法访问私有变量

为什么我不能在类/静态方法中使用私有的、内部的、文件私有的方法?

如何在JAVA中使用静态类访问私有内部类的私有参数化方法

在 Typescript 中使用全局函数而不是私有静态方法是否有缺点

Ruby类使用静态方法调用私有方法吗?

为什么在初始化私有静态成员时允许调用私有静态方法?

验证使用PowerMockito调用最终类上的私有静态方法

使用 Apache commons-lang3 中的 MethodUtils 调用私有静态方法

在PowerMock中是否可以对私有静态方法使用部分模拟?

我可以使用类助手来调用静态私有类方法吗?

MS伪造使用私有构造函数返回类的静态方法

如果仅在内部使用,为什么要将静态方法标记为私有?

静态或私有

使私有方法静态化有目的吗?

私有helper方法与在Java中的公共静态实用方法

Python:私有内部Enum类中的静态方法

如何从私有基类调用静态方法?