Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从包的层次结构导入类_Java_Packages - Fatal编程技术网

Java 从包的层次结构导入类

Java 从包的层次结构导入类,java,packages,Java,Packages,如果存在包的层次结构(即pckg1.pckg2.pckg3),并且每个包都具有相同的类(即Abc),那么如何从pckg1导入类Abc 语句import pckg1.pckg2.pckg3.Abc不明确,因为Abc在所有三个包中都存在 import pckg1.Abc; 将包视为windows文件夹 将包视为windows文件夹。导入pckg1.pckg2.pckg3.Abc不含糊。它指的是特定的类。在这种情况下,Abcfrompckg1.pckg2.pckg3package 在java中没有包

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

语句
import pckg1.pckg2.pckg3.Abc
不明确,因为
Abc
在所有三个包中都存在

import pckg1.Abc;
将包视为windows文件夹


将包视为windows文件夹。

导入pckg1.pckg2.pckg3.Abc
不含糊。它指的是特定的类。在这种情况下,
Abc
from
pckg1.pckg2.pckg3
package


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

导入pckg1.pckg2.pckg3.Abc
并不含糊不清。它指的是特定的类。在这种情况下,
Abc
from
pckg1.pckg2.pckg3
package


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

实际上没有包层次结构

pckg1.pckg2
pckg1
一无所知,也不从中继承任何内容。实际上,
pckg1.pckg2
甚至可以在没有
pckg1
的情况下存在。它基本上只是一种命名约定,有助于在逻辑上对事物进行排序

因此,
pckg1.pckg2.pckg3.Abc
并不含糊。它将来自您目前认为层次结构中最低的包,<代码> PCKG3< /代码> .<
也就是说,没有所谓的
pckg3
。有
pckg1
pckg1.pckg2
pckg1.pckg2.pckg3
,但它们也可以很容易地被称为
cat
banana
magic
实际上没有包层次结构

pckg1.pckg2
pckg1
一无所知,也不从中继承任何内容。实际上,
pckg1.pckg2
甚至可以在没有
pckg1
的情况下存在。它基本上只是一种命名约定,有助于在逻辑上对事物进行排序

因此,
pckg1.pckg2.pckg3.Abc
并不含糊。它将来自您目前认为层次结构中最低的包,<代码> PCKG3< /代码> .<
也就是说,没有所谓的
pckg3
。有
pckg1
pckg1.pckg2
pckg1.pckg2.pckg3
,但它们也可以很容易地被称为
cat
banana
magic
,正如您所提到的:

import pckg1.Abc;
但在定义变量时,我也会使用完整的包路径来避免歧义。例如:

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

如前所述,你将:

import pckg1.Abc;
但在定义变量时,我也会使用完整的包路径来避免歧义。例如:

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

如果要从
pckg1
导入,只需转到
import pckg1.Abc您正在指定包。为什么会模棱两可?顺便说一句,包之间没有层次关系。只是为了防止您的问题的范围被误解。。。在单个类中导入pkcg1.Abc的同时,您是否询问导入类pkcg1.pckg2.pckg3.Abc?或者您只是想导入pkcg1.pckg2.pckg3.Abc?(我相信第二个是你的意思,也是大多数答案目前的假设。)如果你想从
pckg1
导入,只需转到
import pckg1.Abc您正在指定包。为什么会模棱两可?顺便说一句,包之间没有层次关系。只是为了防止您的问题的范围被误解。。。在单个类中导入pkcg1.Abc的同时,您是否询问导入类pkcg1.pckg2.pckg3.Abc?或者您只是想导入pkcg1.pckg2.pckg3.Abc?(我相信第二个问题既是你的意思,也是大多数答案目前的假设。)