jni获取java类的方法

2023-05-10 08:39:28   文档大全网     [ 字体: ] [ 阅读: ]

#文档大全网# 导语】以下是®文档大全网的小编为您整理的《jni获取java类的方法》,欢迎阅读!
获取,方法,java,jni
jni获取java类的方法



一、通过反射获取java类的方法

# 1、通过类名直接获取 ```java

Class clazz = Class.forName("ClassName"); //获得Class对象 Method[] methods = clazz.getMethods();//获得Class对象的所有公用public)方法 ```

# 2、通过实例化对象获取 ```java

Object obj = clazz.newInstance();// 获得实例

Method[] methods = obj.getClass().getMethods();//获得Class对象的所有公用(public)方法 ```

二、通过JNI获取java类的方法


JNI是一个为了在Java应用中调用其他语言写的函数的规范,它一般是用C/C++编写的库调用Java的函数,JNI也可以作为反过来,Java调用其它言编写的库。

获取JNI类的方法,可以参考如下代码: ```c

// 定义一个函数指针,用于指向类中需要调用的方法 typedef void (*HelloWorldFunc)(JNIEnv* env, jobject obj);

jint JNI_OnLoad(JavaVM* vm, void* reserved) { JNIEnv* env = NULL;

if (vm->GetEnv((void**) &env, JNI_VERSION_1_6) != JNI_OK) { return JNI_ERR; }

// 找到要调用的類名

jclass clazz = env->FindClass("className"); // 获取要调用的方法

jmethodID methodId = env->GetMethodID(clazz, "methodName", "()V");


本文来源:https://www.wddqxz.cn/186e100fa75177232f60ddccda38376baf1fe0fa.html

相关推荐