Java 方法和原生方法有什麼區別?


本文將幫助您瞭解 Java 方法和原生方法之間所有區別。

函式/方法

程式模組(程式的一部分),在程式的不同例項中同時使用以執行特定任務,稱為方法或函式。它可以被視為一個黑盒,能夠返回輸出(根據內部程式碼的執行獲得)。類似地,Java 類中所有可用的方法都充當黑盒。在向方法提供值(引數)時,它會處理其中可用的程式碼並返回輸出。

使用方法的優點

  • 它向用戶隱藏低階內部程式碼細節。可以允許外部使用方法,而無需公開內部細節。

  • 它根據需要重用類程式碼段,只需使用方法名稱即可。

  • 它將複雜的計算任務劃分為一系列較小的方法,從而使問題解決變得更容易、特定於物件和模組化。

定義方法

定義方法的一般形式如下所示:

<Access specifier> <Return Type> <Method Name> (Parameter List){
   Statement
   ______________
   ______________
   return (value);
}

示例

public int Addition(int a, int b){
   int sum = 0;
   sum + = a + b;
   return (sum);
}

這裡 public 是訪問修飾符,int 是返回型別,Addition 是方法名稱,int a 和 int b 是引數。

原生方法

原生方法是一種 Java 方法,它以 Java 以外的語言啟動。這可以訪問 Java 中無法直接使用的特定於系統的函式和 API。

使用原生方法會導致應用程式的可移植性受限,因為它涉及特定於系統的程式碼。它們可以是新的程式碼語句或呼叫現有原生程式碼的程式碼語句。

在執行原生方法時,需要與 Java 虛擬機器進行互操作。這是透過 Java 本地介面 (JNI) 完成的,它以平臺無關的方式促進了這種互操作性。

JNI 是一組介面,允許原生方法透過多種方式與 JVM 互操作。例如,JNI 可以包含建立物件、呼叫方法、獲取欄位、設定欄位、運算元組、操作字串和執行程序異常的介面。

原生方法的用途

在 Java 程式語言不足以滿足程式設計需求的情況下,應該使用原生方法。這是因為使用它們會導致應用程式的可移植性受限,因為它涉及特定於系統的程式碼。下面給出了一些應該使用原生方法的情況:

  • 訪問使用 JAVA 程式語言無法訪問的系統函式。

  • 實現從原生實現中受益匪淺的效能特定方法。

  • 建立現有 API 的介面,允許 JAVA 呼叫其他 API。

建立原生方法的步驟

步驟 1 - 編寫 Java 程式碼並編譯它。

步驟 2 - 建立 C 標頭檔案(.h)。

步驟 3 - 使用工具 Java − HEdge 建立 C 存根檔案。

步驟 4 - 編寫 C 程式碼。

步驟 5 - 建立共享程式碼庫或 DLL

步驟 6 - 執行應用程式

Java 方法和原生方法的區別

序號 Java 方法 原生方法
1 它專門用 Java 語言編寫。 它用 Java 以外的語言編寫,例如 C。
2 沒有單獨的關鍵字來宣告方法。 要宣告原生方法,必須使用“native”關鍵字。
3 無法訪問特定於系統的函式。 用於訪問特定於系統的函式。
4 需要 Java 虛擬機器來執行。 需要 Java 本地介面來執行。
5 不會限制應用程式的可移植性。 限制應用程式的可移植性。
6 示例 - public int getValue (int n) { } 示例 - public native int getValue (int n);

更新於:2022-09-05

844 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.