天天看点

BeanShell导入类和包

BeanShell 就和在 Java 中一样,你可以通过包和类的全名来引用一个类或者从 Java 包中导入一个或者多个类。

在 BeanShell 中导入语句可以出现在任何地方,甚至于在一个方法里,而不仅仅在一个文件的头部。当有冲突时,后导入的优先于之前导入的。

其中稍微有点实验性的功能是“supter import”。通过这个功能你可以自动导入整个类路径,就像这样:

import *;

第 一次这样做, BeanShell 将映射出你整个类路径;所以这主要面向交互使用。注意在你的类路径中导入每个类将消耗时间。这样也会导致许多歧义的发生。一般从映射整个类路径中处理带有 歧义的导入时 BeanShell 会报出Error。通过导入你想要用的类来消除这种歧义。

参见“类路径管理”获得更多关于使用 addClassPath() 或者 setClassPath() 命令修改 BeanShell 运行时的类路径的信息。

也可以查看“BeanShell 命令集合”获取关于从类路径中导入新的 BeanShell 命令的信息。

<b>默认导入</b>

在默认情况下,普通的 Java 代码以及扩展包已经导入。他们的导入顺序是:

javax.swing.event

javax.swing

java.awt.event

java.awt

java.net

java.util

java.io

java.lang

两个 BeanShell 包的类也默认导入:

bsh.EvalError

bsh.Interpreter

最后,我们应该注意到 BeanShell 命令也可以从类路径导入。默认的命令通过以下的方式进行导入:

importCommands("/bsh/commands");

我们也会在后面的章节中讨论如何导入自己的命令。

提示:

类 java.awt.List 和 java.util.List 都被默认导入了。

因为作为 java.util 的一部分,java.util.List 在后面导入,所以它更优先。

在你的脚本中简单地再一次导入 java.awt.List 或者导入 java.awt 包来进行访问。后导入优先使用。

本文转自 tongqiuyan 51CTO博客,原文链接:

http://blog.51cto.com/tongqiuyan/752060