通过Jython在Python中访问静态Java方法

4 投票
5 回答
3049 浏览
提问于 2025-04-16 07:37

我现在正在尝试在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()

撰写回答