在py4j中调用静态字段

时间:2019-03-28 14:48:11

标签: python py4j

我有这个有效的代码:

from py4j.java_gateway import JavaGateway
from py4j.java_gateway import java_import 
gateway = JavaGateway()

java_import(gateway.jvm,'MyPackage.*')

myVar = gateway.jvm.MyClass()
myVar.myMethod(gateway.jvm.MyPackage.Constant.ConstantClass.MyField)

其中MyFieldConstantClass静态字段

我想避免使用全名调用该字段并将MyPackage.Constant分别导入到jvm中。

所以我写了这段代码,但是失败了:

from py4j.java_gateway import JavaGateway
from py4j.java_gateway import java_import 
gateway = JavaGateway()

java_import(gateway.jvm,'MyPackage.*')
java_import(gateway.jvm,'MyPackage.Constant.*')

myVar = gateway.jvm.MyClass()
myVar.myMethod(gateway.jvm.ConstantClass.MyField)//the line with error

,出现以下错误:

  

TypeError(“'JavaPackage'对象不可调用”,)

谁能向我解释调用静态字段的机制,为什么不起作用?

0 个答案:

没有答案