package 语句:java
该语句必须做为源文件的第一条非注释性语句,一个源文件只能指定一个包,即只能包含一条package语句。编程
import 和import static 关键字:spa
引入import关键字是为了简化编程。若是没有import关键字的存在,那么若是咱们在实例化另外一个包中的类时,必须指明其所在的位置。对象
例如:java.io.InputStream is = new java.io.InputStream.blog
import static静态导入是JDK1.5中的新特性。通常咱们导入一个类都用 import com.....ClassName;而静态导入是这样:import static com.....ClassName.*;这里的多了个static,还有 就是类名ClassName后面多了个 .* ,意思是导入这个类里的静态方法。固然,也能够只导入某个静态方法,只要把 .* 换成静态方法名就好了。而后在这个类中,就能够直接用方法名调用静 态方法,而没必要用ClassName.方法名 的方式来调用。
这种方法的好处就是能够简化一些操做,例如打印操做System.out.println(...);就能够将其写入一个静态方法print(...),在使用时直接print(...)就能够了。下面是一个具体的例子。编译器
在静态导入以前: public class TestStatic { public static void main(String[] args) { System.out.println(Integer.MAX_VALUE); } }
在静态导入以后:io
import static java.lang.System.out; import static java.lang.Integer.*; public class TestStaticImport { public static void main(String[] args) { out.println(MAX_VALUE); } }
最后,咱们须要注意一些细节:编译
一、虽然该特性一般称为“静态导入”,但语法必须是import static,后面跟你想导入的static成员的彻底限定名称,或者通配符;class
二、在本例中,咱们可能想使用java.lang.Integer类的几个static成员。该静态导入语句使用通配符来表达“我想在此类中的全部静态成员上进行静态导入”。import
三、如今咱们终于看到静态导入特性的好处!咱们没必要在System.out.println中键入System。太好了!另外,咱们没必要在Integer.MAX_VALUE中键入Integer。所以,在这行代码中,我 们可以将快捷方式用于静态方法和一个常量。
四、提防含糊不清的命名static成员。例如,若是你对Integer类和Long类执行了静态导入,引用MAX_VALUE将致使一个编译器错误,由于Integer和Long都有一个MAX_VALUE常量,并 且Java不会知道你在引用哪一个MAX_VALUE(能够指明如,Integer.MAX_VALUE 就不会出现错误了)。
五、你能够在static对象引用、常量(记住,它们是static 或final)和static方法上进行静态导入。