我們知道在寫java類的時候通常需要導入需要的包,例如“import java.util.ArrayList”。實際上也可以不導包而在使用的使用直接寫上類的完整路徑,如“java.util.ArrayList al = new java.util.ArrayList();”,但這樣寫的話語句太長了並且影響代碼的閱讀性。所以,import導包可以很好的解決這兩個問題。
在開發中,有時候會調用一些靜態方法,這時需要用到“class.staticMethod()”這樣的方式來調用,能不能像上述問題那樣在類的前面導入這個”class”,然後在代碼中直接使用”staticMethod()”呢?
實際上是可以的!JDK1.5版本以後添加了靜態導入,看下面的寫法:
import static java.lang.System.*;
public class Main {
public static void main(String []args){
out.println("Hello, world");
}
}
我們可以發現,這個寫法“out.println(“Hello, world”)”同樣可以打印“Hello, world”語句。這是因爲我們事先(在第一行)導入了System類下的所有靜態變量和靜態方法,因此在使用的時候在需要寫”System.”的地方可以省略。
再來看看靜態導入和一般導入的寫法的不同之處:
☆) 和一般導入相比,靜態導入時 import 後面要寫"static" 關鍵字
類似的能使用到靜態的導入的地方有Math、Collections、Arrays等等。