Java中的嵌套包

时间:2014-10-22 13:57:18

标签: java import packages libraries

首先,我想创建一个具有以下结构的自定义用户库:

的src:

  • LibA.pack1
    • ClassName0.java
  • LibA.pack2
    • ClassName1.java

我对此没有任何问题。后来我想将这个库导入另一个项目并调用

import LibA.*;

(使用pack1和pack2这两个类), 这将失败,因为它需要全名,即

import LibA.pack1;

如何一次导入整个库才能使用pack1和pack2这两个类?

P.S。它绝对不叫“嵌套包”,但我不知道如何调用它。 P.p.s.如果重要的话,我正在使用Eclipse。

提前致谢:)

1 个答案:

答案 0 :(得分:14)

你不能,因为在java中没有嵌套包这样的东西。您必须明确导入这两个包。

import LibA.pack1.*;
import LibA.pack2.*;

LibA.pack1LibA.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.*;