1、
为了能够在C/C++中使用Java类,jni.h头文件中专门定义了jclass类型来表示Java中的Class类(ZC: 就是Clazz)
2、
2.1、JNIEXPORT void JNICALL Java_包名_类名_函数名01(JNIEnv * _env, jclass _clazz) // Java代码中的 静态函数
2.2、JNIEXPORT void JNICALL Java_包名_类名_函数名02(JNIEnv * _env, jobject _obj) // Java代码中的 非静态函数
3、
JNIEnv类中有如下几个简单的函数可以取得jclass(ZC: 就是Clazz):
3.1、jclass (JNIEnv *)->FindClass(const char* clsName):通过类的名称(类的全名,这时候包名不是用"."号,而是用"/"来区分的)来获取jclass
如: jclass clazzStr = env->FindClass("java/lang/String");获取Java中的String对象的class对象。
3.2、jclass (JNIEnv *)->GetObjectClass(jobject obj); ==> 通过对象实例来获取jclass,相当于java中的getClass方法
3.3、jclass (JNIEnv *)->GetSuperClass(jclass obj); ==> 通过jclass可以获取其父类的jclass对象
3、