我很少在java中看到静态导入:
import static java.lang.Math.*;
然后,您无需致电PI
即可访问Math.PI
。
由于您经常不会看到这种情况,这是否意味着这样做是一个糟糕的设计?
答案 0 :(得分:3)
我不想使用它们,只是因为我想看看每个常量的定义。如果您的类和常量被恰当地命名,那么它可以帮助您实现可读性。
然后再说一遍,如果你使用同一个类中的很多常量,并且很明显它们来自哪里,你最好使用通配符导入。
答案 1 :(得分:1)
这还不错。通常没有必要。每当我的程序使用大量调用java.lang.Math
时,我个人都会使用它。
大多数人也不知道它,因为它很少被使用。同样的事情也适用于静态构造函数等其他构造。
答案 2 :(得分:1)
设计并不差,但在我看来,Math.PI
对于维护而言比PI
更清晰。
答案 3 :(得分:1)
数学在import static
之前就已存在,这就是大多数开发人员倾向于使用旧形式的原因。
答案 4 :(得分:1)
有时是的。当您使用静态导入时,静态导入的类中的字段和方法可能“看起来像”它们来自您的类。
这确实会影响可理解性,恕我直言。
那就是说,我在JUnit测试中一直使用它!