1.概述
靜態導入是jdk1.5後java出現的新特性,可以導入類中的靜態成員。這樣在使用這些靜態成員時就不必再加包名和類名了,爲編寫程序帶來一定便利。
2.案例引入
import java.util.*;
public class StaticImportDemo {
public static void main(String[] args) {
int[] arr={5,22,19};
//使用Arrays中的靜態方法對數組進行排序
Arrays.sort(arr);
//使用Arrays中的靜態方法將數組轉化爲字符串
System.out.println(Arrays.toString(arr));
}
}
說明:從以上程序代碼中可以看到,使用了Arrays
類中的兩個靜態方法對數組進行操作,但每次使用方法時必須加上類名Arrays
,我們可以通過靜態導入的方法避免這一麻煩。
修改後的代碼:
import static java.util.Arrays.*;
public class StaticImportDemo {
public static void main(String[] args) {
int[] arr={5,22,19};
//使用Arrays中的靜態方法對數組進行排序
sort(arr);
//使用Arrays中的靜態方法將數組轉化爲字符串
System.out.println(toString(arr));
}
}
說明:從以上代碼中可以看到,通過在import
後加上static
導入具體的類,則在main
中使用Arrays
中的成員時便不再需要加上類名。但需要注意,以上代碼在使用Arrays
的toString
方法時依據加上了類名Arrays
。這是因爲本類中也有一個繼承於Object
的toString
方法,這時爲了避免代碼歧義不能省略靜態方法類名。
3.使用格式
import static 包名+類名.* //導入全體靜態成員
//或
import static 包名+類名.靜態成員名 //導入具體靜態成員
例:
import static java.util.Arrays.*;
//或
import static java.util.Arrays.sort;
4.實例應用
通過靜態導入簡化系統輸出語句
示例代碼 :
import static java.lang.System.*; //靜態導入
public class StaticImportDemo {
public static void main(String[] args) {
out.println("這是簡化後的輸出語句");
}
}
說明:通過靜態導入System
類的方式,可以在一定程度上簡化輸出語句的書寫。