Поддержка переопределения виртуальных методов C ++ запланирована в BridJ (альтернатива JNA, поддерживающая C ++), но пока нет.
Обновление: Начиная с версия 0.4 , BridJ поддерживает реализацию интерфейсов C ++ из Java :
Рассмотрим следующий класс C ++:
#ifndef TEST_EXPORTS
#define TEST_EXPORTS
#endif
class TEST_EXPORTS TestClass {
public:
virtual int add(int a, int b);
};
Вы бы связали этот класс с Java с помощью следующих привязок BridJ:
public class TestClass extends CPPObject {
@Virtual(0)
public native int add(int a, int b);
};
И можно было бы подклассифицировать ваш класс C ++ из Java очень естественно:
TestClass test = new TestClass() {
@Override
public int add(int a, int b) {
return a + b;
}
};