Java Static Import ist ein Mechanismus, der dabei hilft, ein statisches Mitglied einer beliebigen Klasse direkt zu verwenden. Die statischen Elemente einer Klasse können im Modul problemlos referenziert werden, ohne dass eine weitere Qualifikation erforderlich ist. Es ist kein Klassenname oder Objekt erforderlich, und diese statischen Objekte können direkt verwendet werden. Dies ist eine gute Möglichkeit, die Lesbarkeit des Codes zu verbessern und die Qualität des Codes zu verbessern. Es ist nicht ratsam, den statischen Import zu verwenden, es sei denn, dies ist erforderlich.
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Der statische Import hilft uns dabei, die statischen Mitglieder der Klasse direkt zu verwenden. Es macht alle Klassenmitglieder zugänglich, was wiederum die Verwendung der Mitglieder dieser Klasse erleichtert, ohne den Klassennamen wiederholt zu erwähnen. Der folgende Code ist ein Beispiel für einen statischen Import. Sie müssen nicht das Modul der Systemklasse System.out verwenden. Stattdessen können Sie im Code direkt auf out.println verweisen, und das Programm wird erfolgreich ausgeführt, da wir die Systemklasse statisch importiert haben.
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"); } }
Sehen wir uns einige Beispiele an, die die statische Importfunktion nutzen.
Statisches Importieren der integrierten Java Math-Klasse.
Code:
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"); } }
Ausgabe:
Das obige Programm importiert die Mathematikklasse. Im weiteren Verlauf werden die PI- und POW-Methoden auch statisch importiert. Sobald diese statisch verwendet werden, müssen wir in unserem Programm keine weiteren Referenzen oder Objekte erstellen. Wir können die importierten Klassen problemlos verwenden. Wir haben Math.PI verwendet, um den Wert von PI zu verwenden und den Umfang des Kreises zu ermitteln. Außerdem haben wir die Fläche des Kreises ermittelt, indem wir erneut die PI- und POW-Methoden verwendet haben, die uns bei der Ermittlung der Kreisfläche helfen. Wenn Sie sich den Screenshot ansehen, werden Umfang und Fläche eines Kreises angezeigt.
Importieren der integrierten Java-Integer-Klasse
Code:
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); } }
Ausgabe:
Das obige Beispiel importiert die Integer-Klasse statisch. Dies bedeutet, dass wir die Methoden dieser Klasse direkt verwenden und ohne weitere Referenz im Programm verwenden können. Wir ermitteln zuerst die maximale Anzahl in ganzen Zahlen und die minimale Anzahl in ganzen Zahlen, wenn wir nicht den statischen Import verwenden und die normale Funktion verwenden. Hier verwenden wir den Klassennamen und dann den Funktionsnamen. Wenn Sie das Beispiel sehen, haben wir Integer.Min_Value und Integer.Max_Value verwendet. Im folgenden Code nutzen wir den statischen Import. Wenn Sie hier nachsehen, werden Sie sehen, dass wir direkt die Methoden MAX_VALUE und MIN_VALUE verwendet haben. Das Ergebnis wird bei beiden gleich sein. Dies zeigt uns, dass es zwei Möglichkeiten gibt, wie wir verschiedene Java-Funktionen nutzen können.
Mehrdeutigkeit bei Verwendung des statischen Imports
Code:
import static java.lang.Integer.*; import static java.lang.Long.*; public class HelloAmbiguity{ public static void main(String[] args) { System.out.println(MAX_VALUE); } }
Ausgabe:
Es kann eine Bedingung wie oben vorliegen, wenn die statischen Mitglieder derselben Klasse importiert werden. Wenn dies geschieht, ist der Compiler verwirrt, welches Mitglied er auswählen soll. Infolgedessen kommt es zu Mehrdeutigkeiten, wenn es um Mitglieder derselben Klasse geht. Im obigen Beispiel wird die Klasse „lang“ zweimal importiert. Die verschiedenen verwendeten Mitglieder sind Integer und Long. Wenn die Hauptfunktion aufgerufen wird, ist der Compiler verwirrt, welches Mitglied er zwischen Integer und Long wählen soll. Ohne einen bestimmten Klassennamen kann es nicht berechnen, welches Mitglied es verwenden soll. Daher wird ein Fehler ausgegeben, wie Sie im obigen Screenshot sehen können.
Die Verwendung der statischen Methode bietet zahlreiche Vorteile. Um nur einige zu nennen, können Sie Folgendes sehen:
Die statische Importmethode ist eine einfache Möglichkeit, die Mitglieder einer Klasse zu verwenden, ohne Referenzen für diese Klasse zu erstellen. Wenn wir die Klasse importieren, können wir diese Methoden direkt verwenden. Durch den statischen Import erhält der Benutzer einen Code, der eine geringere Anzahl an Tastenanschlägen erfordert, und gleichzeitig einen Code, der effizienter ist. Wir können den statischen Import verwenden, es ist jedoch ratsam, ihn nur zu verwenden, wenn die Anforderung dies vorschreibt.
Das obige ist der detaillierte Inhalt vonStatischer Java-Import. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!