java - 除了易于调用之外,在 Java 中是否使用静态方法/函数?

标签 java oop

除了可以在不实例化类的情况下调用它之外,将方法声明为静态是否有任何优势?

最佳答案

不需要实例化类来调用方法本身就是一个优势。考虑方法库,例如 java.lang.Math。

静态方法也用作工厂方法——您调用静态方法来获取对象——通常是某个接口(interface)的实现。这个想法是,该方法可以根据您传递给它的参数确定为您构建哪个特定实现。如果在调用这样的方法之前必须有一个对象实例,那么您要么先有鸡还是先有蛋,要么创建第二个类的实例,只是为了调用工厂方法为您提供第一个类的实例。

您可能还会找到 this StackOverflow question on whether or not methods should be static by default感兴趣,尤其是公认的答案。

关于java - 除了易于调用之外,在 Java 中是否使用静态方法/函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5762004/

相关文章:

c# - 覆盖方法时,我的自定义代码应该出现在 super(base) 之前还是之后

java - 尽可能晚或在它们所属的最近的大括号中声明局部变量?

java - BindingResult 和 bean 的普通目标对象都不能用作请求属性

java - 如何从登录屏幕进入下一个屏幕? JPanel,JFrame?

java - Firebase equalTo 不起作用,尝试获取所有数据

java - Runtime.getRuntime().exec() 没有在centos上运行ffmpeg命令

java - Mockito 验证一个函数在我的例子中被调用一次

c++ - 这是一个糟糕的设计吗?

oop - 有什么组合不能实现继承可以吗?

java - 为迭代变量重写 toString()