Jython 导入Java库
Jython最重要的特性之一是能够在Python程序中导入Java类。我们可以像在Java程序中一样,在Jython中导入任何Java包或类。以下示例显示了如何在Python(Jython)脚本中导入 java.util 包以声明一个Date类的对象。
from java.util import Date
d = Date()
print d
将上述代码保存并运行为 UtilDate.py ,在命令行中执行。当前日期和时间的实例将被显示出来。
C:\jython27\bin>jython UtilDate.py
Sun Jul 09 00:05:43 IST 2017
以下的Java库中的包在Jython程序中更常被导入,主要是因为标准的Python库要么没有它们的等价物,要么不如它们好。
- Servlets
- JMS
- J2EE
- Javadoc
- Swing被认为优于其他的GUI工具包
实际上,任何Java包都可以在Jython脚本中导入。在这里,以下的Java程序被存储和编译在一个叫做 foo 的包中。
package foo;
public class HelloWorld {
public void hello() {
System.out.println("Hello World!");
}
public void hello(String name) {
System.out.printf("Hello %s!", name);
}
}
这个 HelloWorld.class 在下面的Jython脚本中被导入。可以从Jython脚本中调用这个类中的方法 importex.py。
from foo import HelloWorld
h = HelloWorld()
h.hello()
h.hello("TutorialsPoint")
从命令行中保存并执行以上脚本以获得以下输出。
C:\jython27\bin>jython importex.py
Hello World!
Hello TutorialsPoint!