native 關鍵字充當 JAVA 語言與用除 JAVA 之外的其他語言編寫的程式碼區塊或庫之間的鏈接,這可能取決於您所操作的機器。如果將 native 關鍵字應用於方法,則表示該方法將透過 JNI(JAVA 本機介面)使用其他語言(如 C 或 C++)編寫的本機程式碼來實作。
本機程式碼的語法與普通函數定義相同,但在函數開頭加上「native」關鍵字。
開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
例如:
public class testing {public native String testMethod (String parameter);}
這裡 public 是一個存取修飾符。它應該是公開的,以便其他文件可以使用它。字串是函數的傳回資料類型。它可以是整數、字元或布林值,具體取決於關鍵字。 傳遞給該函數的參數也是字串資料型別。一切都應該保持在底層。
函數宣告後,我們透過建立物件和載入函式庫來呼叫該函數。
public static void main(String[] args) { System.loadLibrary("testing"); testing testingnew = new testing(); String output = testingnew.stringMethod("NATIVE"); }
上面定義的函式庫應該先加載,然後建立它的物件。借助該對象,可以呼叫本機函數。
應該有兩個文件。一個包含 JAVA 程式碼,而另一個應該包含 C/C++ 遺留程式碼。 Java 程式碼將用於呼叫遺留程式碼。此遺留程式碼將與硬體互動並傳回預期的輸出。
當遺留程式碼與硬體互動時,它不會遵循JAVA制定的準則。此程式碼將執行所需的處理以獲取輸出並將結果傳遞給 JNI。然後,Java 本機介面將檢查其包含與本機程式碼相關的所有規則的目錄(該目錄位於 SDK 中名為 javah.exe 的檔案下)。 JNI 被設計為 Java 工具包的一部分。經過此處理後,JAVA 將以 JAVA 語言本身發布輸出。當我們創建JAVA程式時,必須確保JAVA檔案和遺留檔案之間存在變數/資料流鏈接,以便兩者之間的資料流暢。
下面給出了解釋如何使用原生關鍵字的步驟:
我們應該在 Eclipse 中編寫程式碼並執行程式碼來建立一個函式庫,然後使用該函式庫來實作 C 程式碼。
代碼:package 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); } }
將這段程式碼儲存到java專案的新「類別」後,我們必須設定運行環境來產生頭檔。
當我們執行這個時,我們應該會產生一個函式庫。
輸出:
這裡我們從java程式碼建立了頭文件,它將連結本地程式碼和java語言。
以下是一些優點。
原生關鍵字的規則如下。
native 關鍵字是彌合母語和 JAVA 之間差距的橋樑。如果我們的軟體與硬體的互動在使用預先存在的程式碼方面更加有效,那麼這可以用作關鍵連結。與盡可能避免從頭開始設計新的應用程式程式碼相比,它使實現工作更少。
以上是Java 中的 Native 關鍵字的詳細內容。更多資訊請關注PHP中文網其他相關文章!