首先,我想创建一个具有以下结构的自定义用户库:
的src:
我对此没有任何问题。后来我想将这个库导入另一个项目并调用
import LibA.*;
(使用pack1和pack2这两个类), 这将失败,因为它需要全名,即
import LibA.pack1;
如何一次导入整个库才能使用pack1和pack2这两个类?
P.S。它绝对不叫“嵌套包”,但我不知道如何调用它。 P.p.s.如果重要的话,我正在使用Eclipse。
提前致谢:)
答案 0 :(得分:14)
你不能,因为在java中没有嵌套包这样的东西。您必须明确导入这两个包。
import LibA.pack1.*;
import LibA.pack2.*;
LibA.pack1
与LibA.pack2
无任何关系,并且它们都与LibA
包无关,因此如果LibA
有其他类,则您希望导入,你需要第三次进口:
import LibA.*;
<强> Apparent Hierarchies of Packages 强>
首先,包似乎是分层的,但它们不是。例如,Java API包括java.awt包,java.awt.color包,java.awt.font包以及许多以java.awt开头的包。但是,java.awt.color包中包含java.awt.color包,java.awt.font包和其他java.awt.xxxx包。前缀java.awt(Java抽象窗口工具包)用于许多相关的包,以使关系明显,但不显示包含。
导入java.awt。*导入java.awt包中的所有类型,但它不导入java.awt.color,java.awt.font或任何其他java.awt.xxxx包。如果您计划使用java.awt.color中的类和其他类型以及java.awt中的类,则必须导入包含所有文件的包:
import java.awt.*; import java.awt.color.*;