Java中的静态导入

时间:2013-01-08 06:09:27

标签: java

静态导入意味着什么,例如:

import static com.example.foo.Suggestion;

如何定义此类包以及使用静态导入有什么好处?

5 个答案:

答案 0 :(得分:7)

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;
}

答案 1 :(得分:3)

静态导入的优势我感觉超过了Constant Interface Pattern

通常我们使用接口作为常量,并且它由所有类实现,但是如果您正在开发API,那么就像暴露您的实现细节一样。以上wiki链接解释得非常好。

但使用static imports可以避免这种情况,并为常量接口Anti-Pattern提供非常好的解决方案。我将创建一个final类,在该类中创建公共静态常量,并在Constants需要的地方进行静态导入,而不是常量接口模式。

答案 2 :(得分:3)

与普通导入声明相比,静态导入允许使用类的静态成员而不使用完整的类名。

答案 3 :(得分:0)

Java中的静态导入允许您引用静态实体(方法,属性),而无需在代码中完全限定引用。这是语法糖。

答案 4 :(得分:0)

您只能对静态字段和方法使用静态导入。你必须定义方法和