java静态方法到底有什么用?是的,我知道如果在同一个类中,可以在不创建实例的情况下调用它们。可以直接调用它们。
在 main 方法的情况下,因为它将是第一个被调用的方法并且必须在没有初始化它的情况下调用它,所以静态词是合理的。
但是在哪些其他场景中我们需要将方法设为静态?
java静态方法到底有什么用?是的,我知道如果在同一个类中,可以在不创建实例的情况下调用它们。可以直接调用它们。
在 main 方法的情况下,因为它将是第一个被调用的方法并且必须在没有初始化它的情况下调用它,所以静态词是合理的。
但是在哪些其他场景中我们需要将方法设为静态?
简单地说,如果您的方法不相关/不依赖于任何一个,instances
它们可以更好static methods.
你的点在上面,而且,为了避免不必要的object
创造
java API 中的一个例子是Math
, all thevariables
和methods
are static
。必须创建一个Math
对象只是为了调用一个method
.
人们经常使用它来编写一些Utility
方法。
您在问题中给出了答案:只要您不需要实例来做某事,静态方法就很有用。典型的例子是:
public static int min(int a, int b);
此方法仅给出两个数字的最小值,不需要上下文(实例)即可工作。
现在您可以将其用作:
int min = YourClass.min(1, 2);
如果您将其声明为实例方法,您将需要不必要地创建一个YourClass
对象。
当您不想创建类的对象时使用静态方法,例如在 Math 类中。如果数学方法是静态的,则不必创建 Math 类的对象。其他用途包括通用计数器变量(使其成为静态)和每个人都应该知道但本身无法编辑的变量。一些更高级的用途包括线程和设计模式。