刚收到一条评论,说我静态导入这个方法不是个好主意。静态导入是来自 DA 类的一个方法,该类主要包含静态方法。因此,在业务逻辑的中间,我有一个似乎属于当前阶层的 da 活动:
import static some.package.DA.*;
class BusinessObject {
void someMethod() {
....
save(this);
}
}
评论家不希望我修改代码,我也没有,但我确实有点同意他的看法。不进行静态导入的一个原因是,方法的定义很混乱,它不在当前类中,也不在任何超类中,所以需要一些时间来确定它的定义(基于 Web 的评审系统没有像 IDE 那样的可点击链接: ——)我真的不认为这有什么关系,静态导入仍然很新,很快我们就会习惯于定位它们。
但是另一个原因,我同意,是一个非限定方法调用似乎属于当前对象,不应该跳转上下文。但是如果它真的属于这个类,那么扩展这个超类就是有意义的。
那么,什么时候 是的对静态导入方法有意义呢?你什么时候做的?你喜欢不合格电话的样子吗?
编辑: 流行的观点似乎是,如果没有人会把静态导入方法当作当前类的方法来混淆,那么静态导入方法就是。例如来自 java.lang 的方法。数学和爪哇。颜色。但是如果 abs 和 getAlpha 没有歧义,我就不明白为什么 readEmployee 有歧义。在很多编程选择中,我认为这也是一个个人偏好的问题。