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
 

哈哈,這樣就成功了!

 

 


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