Java包的静态导入import static和import的区别

来源:互联网 发布:ubuntu 删除文件 编辑:程序博客网 时间:2024/06/05 11:49

Java包的静态导入import static和import的区别

import static静态导入是JDK1.5中的新特性。一般我们导入一个类都用 import com…..ClassName;而静态导入是这样:import static com…..ClassName.*;这里的多了个static,还有就是类名ClassName后面多了个 .* ,意思是导入这个类里的静态方法。当然,也可以只导入某个静态方法,只要把 .* 换成静态方法名就行了。然后在这个类中,就可以直接用方法名调用静态方法,而不必用ClassName.方法名 的方式来调用。 

这种方法的好处就是可以简化一些操作,例如打印操作System.out.println(…);就可以将其写入一个静态方法print(…),在使用时直接print(…)就可以了。 

但是这种方法建议在有很多重复调用的时候使用,如果仅有一到两次调用,不如直接写来的方便

example:

Java 5中,import语句得到了增强,以便提供甚至更加强大的减少击键次数功能,虽然一些人争议说这是以可读性为代价的。这种新的特性成为静态导入。当你想使用static成员时,可以使用静态导入(在API中的类和你自己的类上,都可以使用该特性)。下面是静态导入前后的代码实例:

在静态导入之前:

1. public class TestStatic { 

2.     public static void main(String[] args) { 

3.         System.out.println(Integer.MAX_VALUE); 

4.         System.out.println(Integer.toHexString(42)); 

5.     } 

6. }

在静态导入之后:

1. import static java.lang.System.out; 

2. import static java.lang.Integer.*; 

3.  

4. public class TestStaticImport { 

5.     public static void main(String[] args) { 

6.         out.println(MAX_VALUE); 

7.         out.println(toHexString(42)); 

8.     } 

9. }

两个类都产生相同的输出:

1. 2147483647 

2. 2a

让我们看一下使用静态导入特性的代码中将发生什么:

1、虽然该特性通常称为“静态导入”,但语法必须是import static,后面跟你想导入的static成员的完全限定名称,或者通配符。在本例中,我们在System类的out对象上进行静态导入。

原创粉丝点击