使用jython从python访问java类

2024-06-16 11:52:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我用java编写了一个类,希望用jython在python中执行。 首先是我得到的错误?在

Traceback (most recent call last):
  File "/Users/wolverine/Desktop/project/jython_scripts/customer.py", line 3, in <module>
    customer = Customer(1234,"wolf")
TypeError: No visible constructors for class (Customer)

我的Java类格式:

^{pr2}$

我的python 2行脚本

import Customer

customer = Customer(1234,"wolf")
print customer.getName()

目录结构如下

 folder/customer.py    folder/Customer.java folder/Customer.jar

我去了文件夹

    %javac -classpath Customer.jar *.java

然后我的jython在Users/wolverine/jython/jython中

为了执行我的任务

       %/Users/wolverin/jython/jython ~/Desktop/folder/customer.py

同样的错误是:

   Traceback (most recent call last):
  File "/Users/wolverine/Desktop/project/jython_scripts/customer.py", line 3, in <module>
    customer = Customer(1234,"wolf")
TypeError: No visible constructors for class (Customer)

免责声明。我刚开始使用java:(


Tags: pymost错误customerjythonjavafoldercall
1条回答
网友
1楼 · 发布于 2024-06-16 11:52:04

Customer类不在包中,构造函数也不是公共的。这就是为什么你会得到你看到的错误-构造函数对你的python代码是不可见的(这实际上是在另一个包中)

将构造函数行从

Customer(int _customerId, String _name){

^{pr2}$

它应该能正常工作。此外,您可能会发现this question有助于理解public/protected/private/default的工作原理。在

相关问题 更多 >