ネイティブ キーワードは、JAVA 言語と、操作しているマシンによって異なる可能性がある、JAVA を除くさまざまな言語で書かれたコードまたはライブラリのチャンクとの間のリンクとして機能します。ネイティブ キーワードがメソッドに適用される場合、そのメソッドは、JNI (JAVA ネイティブ インターフェイス) 経由で他の言語 (C または C++ など) で書かれたネイティブ コードを使用して実装されることを意味します。
ネイティブ コードの構文は通常の関数定義と同じですが、関数の先頭に「native」キーワードが追加されます。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
例:
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"); }
上で定義したライブラリを最初にロードし、そのオブジェクトを作成する必要があります。このオブジェクトを使用して、ネイティブ関数が呼び出されます。
ファイルは 2 つあるはずです。 1 つは JAVA コードを含み、もう 1 つは C/C++ レガシー コードを含む必要があります。 Java コードはレガシー コードの呼び出しに使用されます。この従来のコードはハードウェアと対話し、期待される出力を返します。
従来のコードがハードウェアと対話する場合、JAVA が定めたガイドラインに従いません。このコードは、必要な処理を実行して出力を取得し、結果を JNI に渡します。 Java ネイティブ インターフェイスは、ネイティブ コードに関連するすべてのルールを含むディレクトリをチェックインします (これは SDK の javah.exe というファイルの下にあります)。 JNI は Java ツールキットの一部として設計されています。この処理の後、JAVA は JAVA 言語自体で出力をパブリッシュします。 JAVA プログラムを作成するときは、JAVA ファイルと従来のファイルの間に変数/データ フローのリンクがあり、両方の間でスムーズなデータ フローが存在することを確認する必要があります。
ネイティブ キーワードを使用する方法を説明する手順を以下に示します。
Eclipse でコードを記述し、そのコードを実行して C コードを実装するライブラリを作成する必要があります。
コード: パッケージ 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 コードからヘッダー ファイルを作成しました。
以下に利点の一部を示します。
ネイティブ キーワードのルールは次のとおりです。
ネイティブ キーワードは、ネイティブ言語と JAVA の間のギャップを埋めるものです。ソフトウェアとハードウェアの対話が既存のコードを使用する方が効率的である場合、これは重要なリンクとして使用できます。新しいアプリケーション コードをゼロから設計する場合に比べて、実装作業が軽減されます。
以上がJavaのネイティブキーワードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。