Ключевое слово native
Ключевое слово native применяется при объявлении метода и сообщает
компилятору, что реализация этого метода находится не в Java-коде,
а во внешней библиотеке, написанной на другом языке, чаще всего
на C или C++. Такой метод называется нативным. Объявление нативного
метода заканчивается точкой с запятой, тело метода отсутствует,
поскольку оно реализуется вне Java. Для связи Java-метода с его
нативной реализацией используется механизм JNI (Java Native Interface).
Модификатор native нельзя применять к абстрактным методам,
а также он не может сочетаться с strictfp.
Синтаксис
[модификаторы] native тип_возвращаемого_значения имя_метода(параметры);
Пример
Давайте объявим класс с нативным методом, который в реальной программе был бы реализован во внешней библиотеке:
public class Main
{
public native int nativeMethod(int value);
public static void main(String[] args)
{
System.out.println("Native method declared");
}
}
Результат выполнения кода:
"Native method declared"
Пример
Давайте посмотрим, как выглядит объявление нативного метода
внутри класса без вызова, поскольку вызов требует загрузки
нативной библиотеки через System.loadLibrary:
public class Main
{
public native void printMessage();
public native int sum(int a, int b);
public static void main(String[] args)
{
Main obj = new Main();
System.out.println("Class with native methods created");
}
}
Результат выполнения кода:
"Class with native methods created"
Смотрите также
-
ключевое слово
static,
которое объявляет статические члены класса -
ключевое слово
final,
которое запрещает изменение -
ключевое слово
synchronized,
которое управляет доступом потоков -
ключевое слово
volatile,
которое гарантирует видимость изменений