Java包的层次结构

时间:2018-01-22 10:34:17

标签: java packages

我试图理解Java包的一般性。
如果您查阅此Oracle page,似乎有3个主要包: java,javax和org。
Java平台7中的所有软件包都以这三个软件包中的一个开始 这些是更大包装的一部分吗? 我很想看到一棵完整的树,但Oracle提供的那棵树非常令人困惑,因为它太详细了。

我还没有解决的另一件事是为什么像“java.awt”和“java.awt.color”,或“java.lang”和“java.lang.annotation”这样的包被Oracle放在同一级别上。
我在网上看到,如果你导入一个“父包”,你不会从“子包”中导入任何类,这是有道理的。但是,很难想到java.awt和java.awt.color之间没有关系;看起来很直观,至少包含在fromer中 所以,根据我目前的理解,我会绘制一个如下所示的树: enter image description here

1 个答案:

答案 0 :(得分:1)

不,没有"更大"包。随着时间的推移,结构不断发展,不同的想法和营销影响了命名。

您不会在java中导入包,只是类。所以在Java9之前,即使在一个类所在的包中,除了包受保护的可见性范围(没有那么多使用)以及不需要从同一个包中导入类之外,它并不重要。

子包中的类通常由父包中的类使用,但不是相反。但对此没有严格的规定。