Klíčové slovo nativní se používá u metody k označení, že metoda je implementována v nativním kódu pomocí JNI (Java Native Interface). nativní je modifikátor použitelný pouze pro metody a nemůžeme ho použít nikde jinde. Metody, které jsou implementovány v jazycích C, C++, se nazývají nativní metody nebo cizí metody.
Hlavní cíle nativního klíčového slova jsou:
- Zlepšit výkon systému.
- Dosáhnout komunikace na úrovni stroje/paměti.
- Použít již existující starší kód, který není v Javě.
Pseudokód pro použití nativního klíčového slova v Javě:
Class Native
{
Static
{
System.LoadLibrary("Native library path");
}
Public
native
void
m();
}
Class Test
{
Public
static
void
main(String args)
{
Native n =
new
Native();
n.m();
}
}
Důležité body o nativním klíčovém slově:
- Pro nativní metody je již k dispozici implementace ve starých jazycích jako C, C++ a my nejsme zodpovědní za poskytování implementace. Proto by deklarace nativní metody měla končit ; (středníkem).
- Nativní metodu nemůžeme deklarovat jako abstraktní.
- Nativní metodu nemůžeme deklarovat jako striktnífp, protože není zaručeno, že staré jazyky (C, C++) dodržují standard IEEE 754.
- Nativní metodu nemůžeme deklarovat jako abstraktní. Proto je kombinace nativních metod strictfp nelegální kombinací.
- Hlavní výhodou nativního klíčového slova je zlepšení výkonu, ale hlavní nevýhodou nativního klíčového slova je, že narušuje platformově nezávislou povahu Javy.
Deklarování nativních metod:
private native String getLine(String prompt);
Ze strany nativního jazyka:
javah -jni Prompt
JNIEXPORT jstring JNICALL Java_Prompt_getLine(JNIEnv *, jobject, jstring);
Reference:http://www.codejava.net/java-core/the-java-language/native-keyword
Tento článek napsal Bishal Kumar Dubey. Pokud se vám GeeksforGeeks líbí a chtěli byste přispět, můžete také napsat článek pomocí stránky contribute.geeksforgeeks.org nebo poslat svůj článek na adresu [email protected]. Uvidíte, jak se váš článek objeví na hlavní stránce GeeksforGeeks, a pomůžete tak ostatním geekům.