我正在学习 JNI 如何从 Java 程序调用 C++ 对象方法。我正在使用 Android NDK/SDK 编写应用程序。我是 JNI 的初学者,我想知道是否支持多态性。也就是说,假设我有一个简单的 C++ 类:
class HeyBoy
{
public:
virtual int getValue()
{
return 10;
}
};
class HeyBoyDerived1 : public HeyBoy
{
public:
int getValue()
{
return 20;
}
}
class HeyBoyDerived2 : public HeyBoy
{
public:
int getValue()
{
return 30;
}
}
在运行时,我希望用户选择使用哪个实现(1 或 2),只需按下应用界面上的按钮。应该创建正确的 C++ 对象。然后,我会放置一个带有“获取值”标签的按钮。按下按钮时,getValue()
应调用当前选定实现的方法。之后,结果将打印在手机屏幕上。我真的很想看一些代码示例!谢谢你。