Java封装C++
将C++类 和 Java类对等起来
实例化一个Java对象就相当于实例化了一个C++对象
实现原理
指针实质上也是个int或long(视平台而定)类型的变量
在jni方法中实例化c++对象后 返回给java方法 并转化为long变量
java方法根据这个得到的long型'句柄' 可以做一系列的对某个C++对象的操作
包括申请 释放等等
C++:
class test {
}
jni:
test* Java_xxx_xx_getCtx {
test *ctx = new test();
return ctx;
}
Java:
class testJava {
static {
System.loadLibrary('test');
}
private long mCppObjPtr;
public testJava {
mCppObjPtr = getCtx();
}
public native long getCtx();
};
这样将C++和Java的对象对应起来 结构就清晰多了.