通过Jython在Python中访问静态Java方法
我现在正在尝试在Python中访问一个Java的静态类。我像平常一样导入这个类,然后试图获取这个Java类的实例。
from com.exmaple.util import Foo
Foo. __class___.run_static_method()
但是这似乎不太奏效。有没有什么建议?我哪里做错了呢?
5 个回答
1
我想你是先创建这个类的一个实例,然后在这个实例上调用方法。
from com.example.util import Foo
foo = Foo()
foo.run_static_method()
假设直接使用 Foo.run_static_method()
这样的方法是行不通的。
1
它的工作方式就像这个例子:
Jython 2.5.1 (Release_2_5_1:6813, Sep 26 2009, 13:47:54)
[Java HotSpot(TM) Client VM (Sun Microsystems Inc.)] on java1.6.0_22
Type "help", "copyright", "credits" or "license" for more information.
>>> import java.lang
>>> java.lang.System.getProperty('user.dir')
u'/home/vinay'
请注意,getProperty
是静态类 java.lang.System
的一个静态方法。
2
试试使用
Foo.run_static_method()