要导入一个类或接口的静态成员(也就是属性、方法和类),你要对 import 关键字使用 static 修饰符:
import static tips.Constants.*;
下面是 Constants 类型的定义:
package tips;
public interface Constants {
public static final int PORT_NUMBER = 90;
public static final String APP_NAME = "DOOLY";
public static class StaticNestedClass {}
}
通过使用 import static,就可以不用指定 Constants 类名而直接使用静态成员。例如:
import static tips.Constants.*;
public class StaticImportTip {
public static void main(String []args) {
System.out.println(PORT_NUMBER);
System.out.println(APP_NAME);
System.out.println(StaticNestedClass.class);
}
}
如果你决定使用新的静态导入特性,我推荐你单独地导入常量名,而不要使用通配符。因为这样做可以让人知道常量的来源。
比如说在下面的代码片断中,一个开发人员查看了代码之后不知道DEFAULT_URL 和PORT_NUMBER从哪个类中导入的。
import static tips.Constants.*;
import static tips.gen.App.*;
public class StaticImportTip {
public static void main(String []args) {
System.out.println(PORT_NUMBER);
System.out.println(DEFAULT_URL);
}
}
如果导入语句如下:
import static tips.Constants.PORT_NUMBER;
import static tips.gen.App.DEFAULT_URL;
那么常量的来源就很明显了。当然这是我的看法,如果你有不同的看法,请给我们发邮件让我们了解你的看法。
注意:这个技巧中的代码在 Windows 2000 下使用 Java build 1.5.0-beta-b32c 编译通过。要编译这个代码,必须使用javac“-source 1.5”选项。