我想使用 Pyjnius 创建一个 Python 类,它扩展了一个 Java 类并覆盖了它的一些方法。
具体来说,这些 Java 类:
public class A {
public void test_method() {
System.out.println("In parent test_method!!!");
}
public static void run(A a) {
System.out.println("Running...");
a.test_method();
}
}
和
public class B extends A {
public void test_method() {
System.out.println("test method");
}
public static void main(String[] args) {
A.run(new B());
}
}
当我运行时,我看到:
Running...
test method
如何B
使用 Pyjnius 在 Python 中重新实现?
这是我的尝试:
import jnius_config
jnius_config.set_classpath('jars/testClasses.jar')
from jnius import autoclass, PythonJavaClass, JavaClass, MetaJavaClass, java_method
A = autoclass('test.pyjnius.A')
class B(A):
__javaclass__ = 'test/pyjnius/A'
@java_method('()Z')
def test_method(self):
print("test method")
A.run(B())
当我运行 Python 版本时,我看到:
Running...
In parent test_method!!!
它没有正确覆盖test_method
。我该如何解决?