Das native Schlüsselwort fungiert als Verbindung zwischen der JAVA-Sprache und einem Teil des Codes oder der Bibliothek, der in anderen Sprachen außer JAVA geschrieben ist, was von der Maschine abhängen kann, auf der Sie arbeiten. Wenn das native Schlüsselwort auf eine Methode angewendet wird, bedeutet dies, dass die Methode mit nativem Code implementiert wird, der in einer anderen Sprache (wie C oder C++) über JNI (JAVA native Schnittstelle) geschrieben wurde.
Die Syntax von nativem Code ist dieselbe wie die der normalen Funktionsdefinition, wobei am Anfang der Funktion das Schlüsselwort „native“ hinzugefügt wird.
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Zum Beispiel:
public class testing {public native String testMethod (String parameter);}
Hier ist die Öffentlichkeit ein Zugriffsmodifikator. Es sollte öffentlich sein, damit eine andere Datei es verwenden kann. Der String ist der Rückgabedatentyp der Funktion. Abhängig vom Schlüsselwort kann es eine Ganzzahl, ein Zeichen oder ein Boolescher Wert sein. Der an diese Funktion übergebene Parameter ist ebenfalls vom Datentyp string. Alles sollte unterklassig gehalten werden.
Nach der Funktionsdeklaration rufen wir diese Funktion über das erstellte Objekt und die geladene Bibliothek auf.
public static void main(String[] args) { System.loadLibrary("testing"); testing testingnew = new testing(); String output = testingnew.stringMethod("NATIVE"); }
Die oben definierte Bibliothek sollte zuerst geladen werden, und dann wird ihr Objekt erstellt. Mit Hilfe dieses Objekts wird die native Funktion aufgerufen.
Es sollten zwei Dateien vorhanden sein. Einer enthält JAVA-Code, während der andere C/C++-Legacy-Code enthalten sollte. Zum Aufrufen des Legacy-Codes wird Java-Code verwendet. Dieser Legacy-Code interagiert mit der Hardware und gibt die erwartete Ausgabe zurück.
Wenn der Legacy-Code mit Hardware interagiert, folgt er nicht den von JAVA festgelegten Richtlinien. Dieser Code führt die gewünschte Verarbeitung durch, um die Ausgabe zu erhalten und die Ergebnisse an JNI weiterzuleiten. Die native Java-Schnittstelle checkt dann ihr Verzeichnis ein, das alle Regeln für den nativen Code enthält (diese befindet sich in einer Datei namens javah.exe im SDK). JNI ist als Teil des Java-Toolkits konzipiert. Nach dieser Verarbeitung veröffentlicht JAVA die Ausgaben in der JAVA-Sprache selbst. Wenn wir das JAVA-Programm erstellen, müssen wir sicherstellen, dass zwischen der JAVA-Datei und der Legacy-Datei eine Variablen-/Datenflussverbindung besteht, damit zwischen beiden ein reibungsloser Datenfluss gewährleistet ist.
Im Folgenden finden Sie Schritte zur Erläuterung der Verwendung nativer Schlüsselwörter:
Wir sollten Code in Eclipse schreiben und den Code ausführen, um eine Bibliothek zu erstellen, mit der dann C-Code implementiert wird.
Code: Paket com.slackerOne;
public class JPP { public static native void pAccess(); public static native int pRead(); public static native void pWrite(int port, int output); static{ System.loadLibrary("JPPlibs"); } public void jAccess(){ JPP.pAccess(); } public int jRead(){ return JPP.pRead(); } public void jWrite(int port, int output){ JPP.pWrite(port, output); } }
Nachdem wir diesen Code in der neuen „Klasse“ des Java-Projekts gespeichert haben, müssen wir eine Ausführungsumgebung einrichten, um eine Header-Datei zu generieren.
Wenn wir dies ausführen, sollte eine Bibliothek generiert werden.
Ausgabe:
Hier haben wir die Header-Datei aus dem Java-Code erstellt, die den nativen Code und die Java-Sprache verknüpft.
Im Folgenden sind einige der Vorteile aufgeführt.
Die Regeln für ein natives Schlüsselwort lauten wie folgt.
Das Schlüsselwort „Native“ schließt die Lücke zwischen Muttersprachen und JAVA. Dies kann als entscheidende Verbindung verwendet werden, wenn die Interaktion unserer Software mit der Hardware durch die Nutzung bereits vorhandenen Codes effizienter ist. Dadurch ist der Implementierungsaufwand im Vergleich zum Entwurf eines neuen Anwendungscodes von Grund auf geringer, wo immer er vermeidbar wäre.
Das obige ist der detaillierte Inhalt vonNatives Schlüsselwort in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!