四、本地方法接口
简单来讲,一个Native Method就是一个java调用非java代码的接口
一个Native Method 是这样一个java方法:该方法的底层实现由非Java语言实现,比如C。这个特征并非java特有,很多其他的编程语言都有这一机制,比如在C++ 中,你可以用extern “C” 告知C++ 编译器去调用一个C的函数。
定义一个native方法时,用native关键字修饰,但是不能和abstract搭配。没有具体实现体
public class IHaveNatives {
public native void Native1(int x);
public native static long Native2();
private native synchronized float Native3(Object o);
native void Native4(int[] ary) throws Exception;
}
为什么要使用Native Method
-
要与Java环境外交互。
本地方法为我们提供了一个简洁的接口,且无需去了解Java应用之外的繁琐细节
-
与操作系统交互
通过本地方法,可以用Java实现jre与底层系统的交互,升值JVM一部分是用C写的
-
sun解释器是用C实现的,使得它能像一些普通C一样与外部交互
现状:目前该方法使用越来越少了,除非是与硬件相关还是应用得多