Java 靜態導入是一種有助於直接使用任何類別的靜態成員的機制。類別中的靜態項目可以在模組中輕鬆引用,無需其他限定。不需要任何類別名稱或對象,可以直接使用這些靜態對象。這是增加程式碼可讀性和提高程式碼品質的好方法。除非必要,否則不建議使用靜態導入。
開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
靜態導入幫助我們直接使用類別的靜態成員。它使所有類別成員都可訪問,這反過來又有助於使用該類別的成員,而無需重複提及類別名稱。下面的程式碼是靜態導入的範例。您不需要使用 System 類別的模組 System.out。相反,您可以直接在程式碼中引用 out.println ,並且該程式將成功運行,因為我們已經靜態匯入了 System 類別。
import static java.lang.System.*; public class StaticImportInstance{ public static void main(String args[]){ out.println("Hi");//Now no need of System.out out.println("We are using Static Import"); } }
讓我們來看一些使用靜態導入功能的範例。
靜態匯入內建的 Java Math 類別。
代碼:
import static java.lang.Math.PI; import static java.lang.Math.pow; public class HelloStaticWorld { public static void main(String[] args) { System.out.println("Hello, Let us get introduced to the Static Import World!"); System.out.println("Let us consider a circle with a diameter of 5 cm, it has"); System.out.println("a circumference of " + (Math.PI * 5) + " cm"); System.out.println("and the area of circle will be" + (Math.PI * Math.pow(2.5, 2)) + " sq. cm"); } }
輸出:
上面的程式正在導入 Math 類別。更進一步,它還靜態導入 PI 和 POW 方法。一旦靜態使用這些,我們就不需要在程式中建立任何進一步的引用或物件。我們可以輕鬆使用導入的類別。我們利用 Math.PI 來使用 PI 的值並找到圓的周長。另外,我們再次使用 PI 和 POW 方法來求圓的面積,這有助於我們求圓的面積。如果您檢查螢幕截圖,您會看到顯示圓的周長和麵積。
匯入內建的 Java Integer 類別
代碼:
import static java.lang.Integer.MAX_VALUE; import static java.lang.Integer.MIN_VALUE; public class StaticImportInteger { public static void main(String args[]) { //Finding Max and Min without static import System.out.println("We will find maximum value of an integer variable in Java without using" + "static import : " + Integer.MAX_VALUE); System.out.println("We will find minimum value of an integer variable in Java without using" + "static import : " + Integer.MIN_VALUE); //Finding Max and Min without static import System.out.println("We will find maximum value of an integer variable in Java with using" + "static import : " + MAX_VALUE); System.out.println("We will find minimum value of an integer variable in Java with using" + "static import : " + MIN_VALUE); } }
輸出:
上面的範例是靜態導入 Integer 類別。這意味著我們可以直接使用該類別中的方法並在程式中使用它們,而無需進一步引用。我們首先找到整數的最大數和整數的最小數,其中我們不使用靜態導入並使用普通函數。這裡我們將使用類別名,然後使用函數名。如果您看到範例,我們使用了 Integer.Min_Value 和 Integer.Max_Value。在下面的程式碼中,我們使用靜態導入。在這裡,如果你檢查一下,你會發現我們直接使用了 MAX_VALUE 和 MIN_VALUE 方法。兩者的結果將是相同的。這告訴我們有兩種方法可以使用不同的 Java 函數。
使用靜態導入時存在歧義
代碼:
import static java.lang.Integer.*; import static java.lang.Long.*; public class HelloAmbiguity{ public static void main(String[] args) { System.out.println(MAX_VALUE); } }
輸出:
匯入同一個類別的靜態成員時可能會出現上述情況。發生這種情況時,編譯器會困惑於選擇哪個成員。因此,當涉及到同一類的成員時,它會面臨歧義。上面的範例中 lang 類別被導入兩次。它使用的不同成員是 Integer 和 Long。當呼叫 main 函數時,編譯器會混淆在 Integer 和 Long 之間選擇哪個成員。如果沒有特定的類別名,它將無法計算出應該使用哪個成員。因此它會拋出一個錯誤,如上面的螢幕截圖所示。
使用靜態方法有很多優點。僅舉幾例,您可以看到以下內容:
靜態導入方法是使用任何類別的成員而無需為該類別建立任何引用的簡單方法。當我們導入類別的時候,就可以直接使用這些方法。靜態導入使用戶能夠獲得需要更少擊鍵次數並且效率更高的程式碼。我們可以使用靜態導入,但建議僅在有要求時才使用它。
以上是Java靜態導入的詳細內容。更多資訊請關注PHP中文網其他相關文章!