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
frompckg1.pckg2.pckg3
package
在java中没有包层次结构。它只是看起来像
pckg1.pckg2
和pckg1.pckg2.pckg3
是相关的,但实际上它们之间没有关系(除了存储.class
文件的文件结构,但它不是语言的一部分)。导入pckg1.pckg2.pckg3.Abc
并不含糊不清。它指的是特定的类。在这种情况下,Abc
frompckg1.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?(我相信第二个问题既是你的意思,也是大多数答案目前的假设。)