看起来您没有使用问题中显示的Java类。我可以重现这个错误。在
在海滩.py公司名称:import Beach
b = Beach("candolim", "goa")
print b.__class__
在海滩.javaalt.1(零构造函数参数):
^{pr2}$
使用时输出海滩.java备选方案1:$ jython beach.py
Traceback (most recent call last):
File "beach.py", line 3, in
b = Beach("candolim", "goa")
TypeError: Beach(): expected 0 args; got 2
在海滩.java备选方案2(问题中的类;两个参数):public class Beach {
private String name, city;
public Beach(String name, String city) {
this.name = name;
this.city = city;
}
}
使用时输出海滩.java备选方案2:$ jython beach.py
编辑:似乎发生了一些奇怪的事情。以下是我尝试按照编辑的问题中的步骤进行操作时发生的情况:$ rm *.class
$ cat Beach.java
public class Beach {
private String name, city;
public Beach(String name, String city) {
this.name = name;
this.city = city;
}
}
$ javac Beach.java
$ javap Beach
Compiled from "Beach.java"
public class Beach {
public Beach(java.lang.String, java.lang.String);
}
$ jython
Jython 2.7b1 (default:ac42d59644e9, Feb 9 2013, 15:24:52)
[Java HotSpot(TM) 64-Bit Server VM (Oracle Corporation)] on java1.7.0_15
Type "help", "copyright", "credits" or "license" for more information.
>>> import Beach
>>> b = Beach()
Traceback (most recent call last):
File "", line 1, in
TypeError: Beach(): expected 2 args; got 0
>>>
请注意,javap输出是不同的。这里写着public class Beach。问题是class Beach。在