静态导入是什么意思,比如:
import static com.example.foo.Suggestion;如何定义这样的包?使用静态导入有什么好处?
发布于 2013-01-08 14:13:16
import static意味着您可以引用静态值,而无需使用类名。
例如,考虑以下三个类:
package com.example;
public class foo {
public static int Suggestion = 5;
}import com.example.foo;
public class b {
// …
int var = foo.Suggestion;
}import static com.example.foo.Suggestion;
public class c {
// …
int var = Suggestion;
}发布于 2013-01-08 14:18:17
静态导入的优势是我感觉比Constant Interface Pattern更好。
通常我们使用常量的接口,它由所有的类实现,但是如果你正在开发一个API,它就像是在公开你的实现细节。上面的wiki链接解释得很好。
但static imports的使用避免了这种情况,并为常量接口反模式提供了很好的解决方案。我不使用常量接口模式,而是创建一个最终类,在该类中创建公共静态常量,并在需要常量的地方执行静态导入。
发布于 2013-01-08 14:20:34
与普通的导入声明相比,静态导入允许在不使用完整类名的情况下使用类的静态成员。
https://stackoverflow.com/questions/14209169
复制相似问题