JythonJava包导入语句

2024-09-29 18:51:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我想将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>”,而不会发生内存泄漏?在


Tags: 内存fromimport脚本错误jythonjavaprint
1条回答
网友
1楼 · 发布于 2024-09-29 18:51:29

这是由于Java和Python的不同。在

在Java中,可以导入类,静态导入常量和静态方法。不能导入包。import java.util;是一个编译错误,但是import java.util.Collections;或{}都可以。Java包是一种组织一堆类的方法,但它不是一个具有构造函数、方法或常量的类。我喜欢把Java包看作一个zip文件,其中包含属于该包的所有类。Java包仅仅是一个名称空间。在

在Python中,您可以导入模块、类,并从import类、函数和常量中导入。然而,Python模块更像Java类而不是Java包。它不仅仅是一个包含类的zip文件。Python模块是一个文件夹中的脚本集合,其中包含一个init.py,它定义了该模块的类和方法。因此,您可以执行import collections之类的操作。Python还允许您执行import collections.OrderedDictfrom collections import OrderedDict和{}。在

我希望这能解释为什么不能导入Java包。为了让python创建变量,您必须从Java包中导入一些东西(可能是一个类)。在

相关问题 更多 >

    热门问题