当前位置: 首页 > 面试题库 >

本机Java方法是否等效于静态Java方法?

吕骞尧
2023-03-14
问题内容

我将某些本机方法重写为常规Java方法。

本机方法有效地静态吗?或者是否曾经有一个隐式的“ this”参数?

谢谢!


问题答案:

就像常规Java方法一样,本机方法可以static是非static方法

static本机方法接收this引用,static而非本机方法则接收对containg类的引用。

根据JNI规范:

本机方法参数

JNI接口指针是本机方法的第一个参数。JNI接口指针的类型为JNIEnv。第二个参数根据本机方法是静态还是静态而有所不同。非静态本机方法的第二个参数是对对象的引用。静态本机方法的第二个参数是对其Java类的引用。



 类似资料:
  • 问题内容: Kotlin中没有关键字。 用Kotlin 表示Java方法的最佳方法是什么? 问题答案: 您将功能放置在“伴侣对象”中。 所以像这样的java代码: 会变成 然后,您可以从Kotlin代码内部使用它,如下所示: 但是从Java代码中,您需要将其称为 (这也来自Kotlin。) 如果您不想指定位,则可以添加注释或命名伴侣类。 从文档: 类内的对象声明可以用伴随关键字标记: 可以通过仅使

  • 问题内容: Go中是否有类似java finalize的方法?如果我有一个类似的类型结构 如何确保在垃圾回收对象时关闭文件? 问题答案: iirc。但是它被认为是一件坏事,并且不能保证在程序退出之前就可以运行 编辑:如下所述,当前程序包已在文件上调用。但是,不应该依赖。作为一个示例,我有一个类似文件服务器的应用程序,但我忘记了关闭打开的文件。在GC选取并打开其终结器之前,该过程通常可以获取约300

  • 问题内容: 我正在阅读Khalid Mughal 撰写的Java™SCJP认证程序员指南。 在“继承”一章中,它说明了 成员的继承与声明的可访问性紧密相关。如果超类成员可以通过子类中的简单名称来访问(不使用任何其他语法,如super),则该成员被视为继承的 它还提到静态方法不是继承的。但是下面的代码完全可以: 我如何直接在课堂上使用?甚至更多,也可以。 这本书的解释仅适用于实例方法吗? 问题答案:

  • 问题内容: 我在Java中使用以下语句: 请提出等效的C#。 问题答案: 我不知道框架中执行此操作的任何内容,但是实现起来很容易: 或者,如果您要指定计数而不是开始/结束:

  • 问题内容: 我想将一个函数应用于Java集合,在这种特殊情况下为map。有没有很好的方法可以做到这一点?我有一张地图,想对地图中的所有值运行trim(),并让地图反映更新。 问题答案: 对于Java 8的lambda,这是一个衬里: 出于历史的考虑,这是一个没有lambda的版本: 或者,更一般而言:

  • 问题内容: 我编写了以下.NET Framework 3.5 C#方法,该方法获取XML文档的位置和X509数字证书(带有私钥)的对象表示形式,并将XML文档作为嵌入了XML签名(XMLDsig)的对象返回作为根的第一个子元素。 事实是,我迫切需要能够使用Java SE 6执行完全相同的过程,但是我很久没有写过任何Java了,也不知道从哪里开始。 谁能在Java代码中提供产生 完全相同的 XML输