java clazz_JNI_Z_01_获取Clazz

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、

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值