Java中的静态导入
静态导入意味着什么,例如:
import static com.example.foo.Suggestion;
如何定义这样的包以及使用静态导入有什么好处?
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; }
静态导入的优点我感觉是通过常量接口模式 。
通常我们使用接口作为常量,并且它由所有类实现,但是如果您正在开发API,那么就像您公开实现细节一样。 上面的wiki链接解释得非常好。
但是使用static imports
可以避免这种情况,并为常量接口Anti-Pattern提供非常好的解决方案。 我将创建一个final类,在该类中创建公共静态常量,并在Constants需要的地方进行静态导入,而不是常量接口模式。
与普通导入声明相比,静态导入允许使用类的静态成员而不使用完整的类名。
Java中的静态导入允许您引用静态实体(方法,属性),而无需在代码中完全限定引用。 它是语法糖。
您只能对静态字段和方法使用静态导入。 你必须定义方法和