从包的层次结构中导入类

时间:2017-07-12 16:55:11

标签: java packages

如果有一个包的层次结构(即pckg1.pckg2.pckg3)并且每个包具有相同的类(即Abc),那么如何从pckg1导入类Abc?

import pckg1.pckg2.pckg3.Abc语句是否与Abc不一致,这三个包中都存在。

4 个答案:

答案 0 :(得分:3)

实际上没有包层次结构这样的东西。

pckg1.pckg2一无所知,并且从pckg1继承任何内容。实际上,pckg1.pckg2可以存在而不存在pckg1。它基本上只是帮助逻辑订购事物的命名约定。

因此,{p> pckg1.pckg2.pckg3.Abc并不含糊。它将来自您当前认为是层次结构中最低的包pckg3

那就是说,没有pckg3之类的东西。 pckg1pckg1.pckg2pckg1.pckg2.pckg3可以很容易地称为catbananamagic < / p>

答案 1 :(得分:1)

import pckg1.pckg2.pckg3.Abc并不含糊。它指的是具体的课程。在这种情况下,来自Abc包的pckg1.pckg2.pckg3

在java中没有包层次结构。它看起来只有pckg1.pckg2pckg1.pckg2.pckg3相关,但实际上它们之间没有关系(除了存储.class文件的文件结构,但它不是语言的一部分)

答案 2 :(得分:0)

import pckg1.Abc;

将包视为Windows文件夹。

答案 3 :(得分:0)

如上所述,你会:

import pckg1.Abc;

但是我也会在定义变量时执行完整的包路径以避免歧义。例如:

pckg1.Abc abc = new pckg1.Abc();