Java中的静态方法

时间:2020-02-23 14:37:25  来源:igfitidea点击:

Java中的静态方法属于该类,而不是其实例。
静态方法只能访问类的静态变量,并且只能调用类的静态方法。

通常,静态方法是我们希望公开的实用程序方法,供其他类使用,而无需创建实例。
例如Collections类。

Java包装程序类和实用程序类包含许多静态方法。
作为Java程序本身入口点的main()方法是静态方法。

静态方法示例

让我们看一些简单的静态方法示例。

public class MathUtils {

public static long add(long i, long j) {
  return i + j;
}

//static util method
public static int addInts(int i, int...js){
  int sum = i;
  for(int x : js) sum+=x;
  return sum;
}

}

用Java调用静态方法

我们可以使用ClassName.method调用静态方法。
例如;

MathUtils.add(100L, 20L);
MathUtils.addInts(1, 2, 3, 4);

何时在Java中创建静态方法

  • 静态方法不需要创建实例,因此通常更快,并且可以提供更好的性能。
    这就是Wrapper类,System类,Collections类中的实用程序类方法都是静态方法的原因。

  • 使用静态导入时,可以编写流畅的代码。
    您将在诸如JUnit和TestNG的测试框架中看到很多。

  • 当您的方法仅取决于其参数时,对象状态对方法的行为没有影响。
    然后,您可以将方法创建为静态方法。

在所有其他情况下,使用非静态方法应该更好。

Java接口静态方法

从Java 8开始,我们也可以在接口中定义静态方法。
在实现类中不能覆盖Java接口静态方法。
此功能可帮助我们避免在实现类中的实现不佳的情况下出现不良结果。
让我们通过一个简单的示例对此进行研究。

public interface MyData {

static boolean isNull(String str) {
		System.out.println("Interface Null Check");

		return str == null ? true : "".equals(str) ? true : false;
	}
}