5

2010 年に JRuby で同様の問題が発生したのを見ました。これは、Java ソース コードで最初にオーバーロードされたメソッドを Jruby でオーバーライドしようとしたときに発生しました。Jython ではこれをどのように扱うのでしょうか? より具体的には、オーバーロードされているメソッドの 1 つをオーバーライドして残りを無視するように指定するにはどうすればよいですか、またはそれらすべてをオーバーライドするにはどうすればよいですか?

ありがとうございました

4

2 に答える 2

1

Python はメソッドのオーバーロードをサポートしていません (ただし、デフォルト値はサポートしています)。

def my_function(paramA, paramB = None):
  pass

Jython は単なる Python の実装であるため、同じことが言えると思います。

于 2012-08-11T00:25:13.323 に答える
0

Jython から特定の Java メソッドを呼び出すには、型を非常に厳密に、または完全に一致させる必要がある場合があります。

Jython は何らかの型強制を行いますが、必要なメソッドが選択されない場合があります。

特定の基本クラスでパブリック メソッドを呼び出すには、BaseClass.method(self, ...). 保護されたメソッドを呼び出すにはメソッド名の前にself.super__method(...).

于 2014-12-20T17:20:46.673 に答える