关于java:添加import static意味着什么?

What does it means when adding import static?

本问题已经有最佳答案,请猛点这里访问。

我在网上看到一些代码,比如:

1
import static org.mockito.Mockito.*;

有人能告诉我在这种情况下,static是什么意思吗?


一般情况:

为了访问静态成员,有必要使用引用所来自的类来限定引用。例如,必须说:

1
double r = Math.cos(Math.PI * theta);

静态导入构造允许对静态成员的非限定访问,而不从包含静态成员的类型继承。相反,程序导入成员,或者单独导入:

1
import static java.lang.Math.PI;

或全体:

1
import static java.lang.Math.*;

静态构件进口后,可在无条件下使用:

1
double r = cos(PI * theta);

这里有源头。

你的情况:

您可以编写以下代码:

1
staticMethod();

而不是:

1
Mockito.staticMethod();

Java 5引入了静态导入,允许静态成员的导入,并使用它们,就像在导入它们的类中声明的一样。对于更多的REF,可以参考Java文档。