Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javajni和C++; 我正在学习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; } }_Java_Android_C++_Android Ndk_Java Native Interface - Fatal编程技术网

javajni和C++; 我正在学习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; } }

javajni和C++; 我正在学习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; } },java,android,c++,android-ndk,java-native-interface,Java,Android,C++,Android Ndk,Java Native Interface,在运行时,我希望用户只需按下应用程序界面上的一个按钮,就可以选择要使用的实现(1或2)。应该创建正确的C++对象。 然后,我会放置一个标签为“Get Value”的按钮。按下按钮时,应调用当前选定实现的getValue()方法。之后,结果将打印在手机屏幕上。 我真的很想看到一些代码示例! 谢谢。 简短的回答是:不,JNI是C接口,它不知道C++、类、继承或多态性。 较长的答案是:是的,C函数可以用来调用所需的构造函数和调用虚拟方法。从阅读JNI开始。一旦你谈到函数命名约定的部分,你就不会再有这个

在运行时,我希望用户只需按下应用程序界面上的一个按钮,就可以选择要使用的实现(1或2)。应该创建正确的C++对象。 然后,我会放置一个标签为“Get Value”的按钮。按下按钮时,应调用当前选定实现的
getValue()
方法。之后,结果将打印在手机屏幕上。 我真的很想看到一些代码示例!
谢谢。

简短的回答是:不,JNI是C接口,它不知道C++、类、继承或多态性。


较长的答案是:是的,C函数可以用来调用所需的构造函数和调用虚拟方法。

从阅读JNI开始。一旦你谈到函数命名约定的部分,你就不会再有这个问题了。我们可以很容易地用JNI实现这一点,它本身就使用JNI。