xxx(JNIEnv * env,jobject thisObj)和xxx(JNIEnv * env,jclass cls)之间有什么区别?

时间:2018-03-16 11:21:07

标签: java java-native-interface

我看到了一些jni签名如下:

// jni
// WAY-1
JNIEXPORT void JNICALL Java_com_test_Test_testMethod(JNIEnv *env,  jobject thisObj);

// WAY-2
JNIEXPORT void JNICALL Java_com_test_Test_testMethod(JNIEnv *env, jclass cls);

java代码可能是这样的:

// java
package com.test;

public class Test {
    public native void testMethod(); 
}

WAY-1 WAY-2 有什么区别?

1 个答案:

答案 0 :(得分:1)

第二个调用签名(WAY-2)用于static方法,这些方法没有对象实例。