静态的Import可以让你直接import静态的class,variable,enum,且很容易在你的程序代码中参考他们。它提供了比较好的方便性,但是的确没有什么新功能。
Importing静态Member
大多数人习惯使用System.out.println()这样的语句,但是每次都要去写System.out简直会让人疯掉,来看看静态的import是怎么做的:
import static java.lang.System.out;
public class Test {
public static void main(String[] args){
out.println("hello word");
}
}
这并不是什么大的革命,但它确实是不错的红利。
如果你要是想import一堆Member,那么你可以使用与原来一样的通配符:
import static java.lang.Math.*;
这里唯一注意的是,import static只可以针对静态的Member,而其他的则不可以。
Importing Enumerated 类型
除了Member之外,还有其他的东西,那就是Enumerated 类型,简单的实例如下:
import static com.test.util.Enumdata.*;//这里的Enumdata是Enum
这样你可以直接在程序中和使用Enumdata的成员,而不需要在前面加什么了。看起来很不错。
Importing 多个同名的Member
如果import多个同名的呢?完全不用担心,看看下面的例子:
import static java.util.Arrays.sort;
import static java.util.Collections.sort;
上面这两个的参数是不一样的,它相当于一个重载,如果是相同的两个函数的话,编译器会在编译的时候给出错误。
如果想遮蔽一个import,则用到了局部变量的作用域。