JNI完全指南(九)——反射
2016-11-15 15:51
232 查看
JNI完全指南(九)——反射
标签(空格分隔): JNI完全指南版本:1 作者:陈小默 声明:禁止商业,禁止转载
发布于:作业部落、简书、CSDN博客
上一篇:JNI完全指南(八)——NIO
JNI完全指南九反射
九反射
1 将一个Method对象转换为方法ID
2 将一个Field对象转换为属性ID
3 反射得到Method对象
4 反射得到Field对象
九、反射
反射能够使开发者在仅知道名称的情况下就能操作方法和属性。JNI提供了一系列在Java反射的核心方法。9.1 将一个Method对象转换为方法ID
jmethodID FromReflectedMethod(JNIEnv *env, jobject method);method:java.lang.reflect.Method或者java.lang.reflect.Constructor对象。通过9.3得到。
9.2 将一个Field对象转换为属性ID
jfieldID FromReflectedField(JNIEnv *env, jobject field);field:java.lang.reflect.Field对象,通过9.4得到。
9.3 反射得到Method对象
以下方法将一个来源于cls类的方法ID转换为java.lang.reflect.Method或者java.lang.reflect.Constructor对象。jobject ToReflectedMethod(JNIEnv *env, jclass cls,jmethodID methodID, jboolean isStatic);
cls:方法所在的类。
methodID:方法ID。
isStatic:是否是静态方法。
return:java.lang.reflect.Method或者java.lang.reflect.Constructor对象。失败是返回NULL。
存在异常
OutOfMemoryError
9.4 反射得到Field对象
以下方法将一个来源于cls类的属性ID转换为java.lang.reflect.Field对象。jobject ToReflectedField(JNIEnv *env, jclass cls,jfieldID fieldID, jboolean isStatic);
cls:属性所在的类对象。
fieldID:属性ID。
isStatic:是否是静态属性。
存在异常
OutOfMemoryError
下一篇:JNI完全指南(十)——Java 虚拟机
[1]ORACLE guides for JNI——Chapter 4: JNI Functions
相关文章推荐
- JNI完全指南(四)——对象操作
- JNI完全指南(六)——本地方法
- JNI完全指南(七)——多线程
- JNI完全指南(八)——NIO
- JNI完全指南(十)——JavaVM与JNIEnv
- JNI完全指南(一)——数据类型
- JNI完全指南(二)——类与异常
- JNI完全指南(三)——引用类型
- Python自省(反射)指南
- JNI/NDK开发指南(七)---调用构造方法和父类实例方法
- Linux可装载模块完全指南
- midlet中使用https完全指南
- 系统托盘编程完全指南(一)
- 给小白的Java EE生存指南(6) :Java 反射
- C++字符串完全指南(2) - STL和ATL类
- Chrome开发者工具不完全指南:(三、性能篇)
- JNI/NDK开发指南(二)——JVM查找java native方法的规则
- systemctl 命令完全指南
- Bullet物理引擎不完全指南(Bullet Physics Engine not complete Guide)
- Chrome开发者工具不完全指南(一、基础功能篇)