Jython 报错 TypeError: too many arguments

今天在使用jython的时候发现了一个这样的错误,可能我对python不熟悉的缘故!

python代码是这样的:

import sys
from test import Handle
from test import ITask

class Task(ITask):

	def work():
		i=10000000
		while (i>0):
			i=i-1

 ITask.java:

public interface ITask {
	public void work();
}

 看上去好像没有什么问题,就是实现接口方法.结果调用的时候出现了这个错误信息:

TypeError: work() too many arguments; expected 0 got 1

 

 



 搞了半天都不清楚是怎么回事,只好在网上搜索了!后来终于找到一篇文章:

 

http://aspn.activestate.com/ASPN/Mail/Message/Jython-users/2236297

 

其中有这样的语句话:

Member functions should always have at least one argument - self. If you 
omit the 'self' argument that will cause the error you are getting.

大概意思是说函授的参数列表中必须有一个参数--self,如果省略了就会报错!

然后我修改了下代码:

class Task(ITask):

	def work(self):#就是在这里添加
		i=10000000
		while (i>0):
			i=i-1
 

哈哈,这样就成功了!

 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章