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