我想将java包“TestPackage
”导入jython脚本
import TestPackage
print TestPackage.SampleClass().getMessage();
我得到了以下错误
^{pr2}$当我使用from TestPackage import SampleClass
时,效果很好。如果我执行一次from <pacakage> import <anyclass>
语句,那么import <pacakage>
不会出现导入错误。在
我试着设置PySystemState.add_package("TestPackage")
,这是可行的,但会导致内存泄漏。在
有没有其他方法可以利用import TestPackage
?如何在jython中使用“import <packagename>
”,而不会发生内存泄漏?在
这是由于Java和Python的不同。在
在Java中,可以导入类,静态导入常量和静态方法。不能导入包。}都可以。Java包是一种组织一堆类的方法,但它不是一个具有构造函数、方法或常量的类。我喜欢把Java包看作一个zip文件,其中包含属于该包的所有类。Java包仅仅是一个名称空间。在
import java.util;
是一个编译错误,但是import java.util.Collections;
或{在Python中,您可以导入模块、类,并从import类、函数和常量中导入。然而,Python模块更像Java类而不是Java包。它不仅仅是一个包含类的zip文件。Python模块是一个文件夹中的脚本集合,其中包含一个init.py,它定义了该模块的类和方法。因此,您可以执行}。在
import collections
之类的操作。Python还允许您执行import collections.OrderedDict
、from collections import OrderedDict
和{我希望这能解释为什么不能导入Java包。为了让python创建变量,您必须从Java包中导入一些东西(可能是一个类)。在
相关问题 更多 >
编程相关推荐