所以我在某些来源中遇到了这样的方法
public native void method();
里面有代码,但是被注释掉了,
/*MANUAL code code code */
代码看起来有点像 C++。那么这是什么意思?我知道它会做一些事情,因为最终它在课堂上被调用......
这是本地方法的声明,由native
修饰符指示,如 Java 语言规范第8.4.3.4节native
方法中所述。
您不会在 Java 中找到它的实现代码,它指的是 C 库中的代码,这些代码是正在使用的 JDK 实现的一部分,或者是与您正在研究的代码捆绑在一起的本机库的一部分。请参阅JNI 文档以了解如何从 Java 程序调用它。
Java 中的 native 关键字表示该方法是用另一种语言编写的。请参阅这个确切的问题:Java 中的 native 关键字是干什么用的?
关键字native
声明此方法的实现来自本地语言,如 c/cpp 等,通过JNI
一个常见的例子:java.lang.Object类中的几个方法是用本地语言实现的。