栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

递归导入Java

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

递归导入Java

您的问题措辞不好,因为如果您愿意

import pkg.*
,那么您当然可以从包
pkg.B
和中导入类
pkg.C
。也就是说,这样做非常好:

import pkg.*;import pkg.B.*;import pkg.C.*;

但是我假设您真正要问的是为什么,如果您

importpkg.*
没有自动导入在的子包中声明的类型
pkg
。要回答这个问题,最好转向Java语言规范:

程序包的分层命名结构旨在方便以常规方式组织相关程序包,但除禁止具有与顶级类型具有相同简单名称的子程序包的禁止包之外,其本身没有其他意义(第7.6节)在该包中声明。

例如,在一个名为的软件包

oliver
和另一个名为的
oliver.twist
软件包之间,或在名为
evelyn.wood
和的软件包之间没有特殊的访问关系
evelyn.waugh
。也就是说,与其他任何程序包中的代码相比,名为程序包中的代码
oliver.twist
无法更好地访问在程序包中声明的类型
oliver

换句话说,当您

import pkg.*
导入时,您将导入名称为的包中包含的编译单元定义的所有顶级 类型
pkg
,但 不会
导入的任何子包
pkg
(例如
pkg.B
pkg.C
)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/451647.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号