可能重复:
什么是静态导入方法的好用例?
我很少在java中看到这样的静态导入:
import static java.lang.Math.*;
然后您可以访问PI
,而不必调用Math.PI
。
既然你不经常看到这种情况,这是否意味着这样做是一个糟糕的设计?
我不喜欢使用它们,因为我想看看每个常量是在哪里定义的。如果您的类和常量的名称适当,则对可读性有很大帮助。
再说一遍,如果您使用的是同一类中的许多常量,并且很明显它们来自哪里,那么最好使用通配符导入。
这是一个不错的设计,但在我看来,Math.PI
对于维护来说比PI
更清晰。
有时是的。当您使用静态导入时,静态导入的类中的字段和方法可能"看起来像"来自您的类。
IMHO,这确实影响了理解能力。
也就是说,我一直在JUnit测试中使用它!
还不错。这通常是不必要的。每当我的程序使用大量对java.lang.Math
的调用时,我个人都会使用它。
大多数人也不知道它,因为它很少被使用。类似于静态构造函数的其他构造也是如此。
数学在import static
之前就已经存在,这就是为什么大多数开发人员倾向于使用较旧的形式。