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.wddqw.com/doc/186e100fa75177232f60ddccda38376baf1fe0fa.html