1 執行個體
建立一個StaticClass.java的靜态類:
package com.cjg.StaticImport;
public class StaticClass {
public static int MAX12=100;
public static void daying(int x){
System.out.println(x);
}
}
StaticImport.java示範如何使用靜态類:
import static com.cjg.StaticImport.StaticClass.*;
import static java.lang.Math.abs;
public class StaticImport {
public static void main(String[] args){
System.out.println(MAX12);
daying(5);
System.out.println(abs(-4));
}
}
執行結果:
100
5
4
2 代碼說明
(1)import static com.cjg.StaticImport.StaticClass.* 導入了StaticClass類中的類方法daying()和類變量MAX12。具體調用時隻需要直接寫類方法和變量名,而不需要寫成staticclass.daying(5)和StaticClass.MAX12。 (2)上述代碼中import static java.lang.Math.abs 隻導入了類Math中的類方法abs()。是以在具體調用時,如果直接寫acos(4)就會報錯,但是寫abs(-4)類方法就不會報錯。
3 靜态導入說明
(1)老版本java的import隻能導入一個類或包中的所有類,而最新特性可以導入靜态類和靜态域。 (2)不可能一行語句靜态導入包中所有的類方法和類變量。不能這樣寫:
import static java.lang.*;
(3)一個本地方法與一個靜态導入的方法同名,則本地方法被調用。