静态导入是JDK1.5里面的新的特性
一般我们常写
import java.util.*;
意思是导入util包下的所有类,然后使用下面的语句用sort对alist进行排序。
Collections.sort(alist);
在jdk1.5中,我们可以写
import static java.util.Collections.*;
意思是导入Collections类的所有静态方法(注意只是静态方法),这样我们可以使用下面的语句达到同样的效果:
sort(alist);
读到这里,可能很多人就要想了,System.out.println(“”);应该也可以写简单一点吧(我开始也是这么想的)。不好意思,呵呵,println是out的实例方法,非静态方法,不能用上面的简写的。
但是可以用一种变通的方法,自己实现一个静态的println,然后调用这个就行了。
import的作用就是告诉编译器,当你遇到无法解析的名字时,去某个路径找。所以当编译器遇到sort后,就在java.util.Collections下找到了sort这个名字(函数签名),然后再找是否有匹配的函数。结果以下的奇怪东西就有意思了:
import static java.util.Arrays.sort;
import static java.util.Collections.sort;
两个sort毫无冲突,因为这两个类没有相同的sort函数(函数签名不一样),邻里融洽。
其实这种方法真是很无奈。
终于换博客了!^_^
是啊,我靠,还是要钱的好,以后要多挣钱啊
多搞几个CT