1

所以我在某些来源中遇到了这样的方法

public native void method();

里面有代码,但是被注释掉了,

/*MANUAL code code code */

代码看起来有点像 C++。那么这是什么意思?我知道它会做一些事情,因为最终它在课堂上被调用......

4

4 回答 4

4

这是本地方法的声明,由native修饰符指示,如 Java 语言规范第8.4.3.4节native方法中所述。

您不会在 Java 中找到它的实现代码,它指的是 C 库中的代码,这些代码是正在使用的 JDK 实现的一部分,或者是与您正在研究的代码捆绑在一起的本机库的一部分。请参阅JNI 文档以了解如何从 Java 程序调用它。

于 2013-08-12T17:20:03.653 回答
2

Java 中的 native 关键字表示该方法是用另一种语言编写的。请参阅这个确切的问题:Java 中的 native 关键字是干什么用的?

于 2013-08-12T17:19:54.493 回答
1

关键字native声明此方法的实现来自本地语言,如 c/cpp 等,通过JNI

一个常见的例子:java.lang.Object类中的几个方法是用本地语言实现的。

于 2013-08-12T17:20:35.850 回答
0

native 关键字应用于方法以指示该方法是使用JNI在本机代码中实现的。它标志着一种方法,它将用其他语言实现,而不是用 Java,换句话说,本机是用依赖于平台的代码实现的,通常用另一种编程语言编写。

您可以从这里找到更多示例。

于 2013-08-12T17:21:55.807 回答