繁体   English   中英

从包的层次结构导入类

[英]Import a class from a hierarchy of packages

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

语句import pckg1.pckg2.pckg3.Abc模棱两可,因为这三个软件包中都存在Abc

实际上没有包层次结构之类的东西。

pckg1.pckg2一无所知,也不从pckg1继承任何pckg1 实际上, pckg1.pckg2可以存在,甚至没有pckg1 基本上,这只是一种命名约定,可以帮助您逻辑上排序。

pckg1.pckg2.pckg3.Abc因此不明确。 它来自您当前认为层次结构中最低的软件包pckg3

就是说,没有pckg3这样的东西。 pckg1pckg1.pckg2pckg1.pckg2.pckg3但是它们很容易被称为catbananamagic

import pckg1.pckg2.pckg3.Abc不明确。 它指的是特定类别。 在这种情况下,来自pckg1.pckg2.pckg3包的Abc

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

import pckg1.Abc;

将软件包视为Windows文件夹。

如前所述,您将:

import pckg1.Abc;

但是在定义变量时,我也将使用完整的包路径,以避免产生歧义。 例如:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM