Dernière chance ! -50 % sur DataCamp Premium
L'offre se termine dans
Le mot-clé native en Java est utilisé pour déclarer une méthode qui est mise en œuvre dans le code natif à l'aide de langages tels que C ou C++. Ce mot-clé fait partie de l'interface native Java (JNI), qui permet au code Java d'interagir avec des applications et des bibliothèques natives.
Le mot-clé native sert principalement à permettre aux applications Java d'appeler des fonctions écrites dans d'autres langages de programmation. Ceci est particulièrement utile pour les applications dont les performances sont critiques ou lors de l'intégration avec des bibliothèques natives existantes.
public native returnType methodName(parameters);
returnType: Le type de retour de la méthode native.methodName: Le nom de la méthode native.parameters: Les paramètres que la méthode accepte.public class NativeExample {
// Declare a native method
public native void printHello();
// Load the library containing the native method implementation
static {
System.loadLibrary("NativeLib");
}
public static void main(String[] args) {
new NativeExample().printHello();
}
}
Dans cet exemple, la méthode printHello est déclarée comme native, ce qui indique que sa mise en œuvre est fournie dans une bibliothèque native nommée NativeLib. La méthode System.loadLibrary charge cette bibliothèque.
#include <jni.h>
#include <stdio.h>
#include "NativeExample.h"
// Implement the native method
JNIEXPORT void JNICALL Java_NativeExample_printHello(JNIEnv *env, jobject obj) {
printf("Hello from C!\n");
}
Ce code C fournit l'implémentation de la méthode printHello déclarée dans la classe Java NativeExample. La méthode imprime un message sur la console.
public class NativeMath {
// Declare a native method with parameters
public native int add(int a, int b);
// Load the library containing the native method implementation
static {
System.loadLibrary("NativeMathLib");
}
public static void main(String[] args) {
NativeMath nm = new NativeMath();
int result = nm.add(5, 3);
System.out.println("Result: " + result);
}
}
Ici, la méthode add est déclarée comme native et prend deux int paramètres. La bibliothèque native NativeMathLib est chargée et la méthode est appelée pour additionner deux entiers.
// Example of calling a native method with proper error handling
try {
nativeMethod();
} catch (Exception e) {
System.err.println("Error calling native method: " + e.getMessage());
}