为什么java不允许访问父包中的包限制类型?
有类似的东西:
Package a
|--Class A
|--Package b
|--Class B
Run Code Online (Sandbox Code Playgroud)
如果类具有包可见性,则无法A从类访问类.我觉得这很有道理,但显然不是.BA
这是什么原因?
没有父包或子包这样的东西.包不是一个层次结构的东西.每个包都是独立的.遵循分层命名模式的包也分层存储在分层文件系统中,这只是惯例.
来自JLS Sec 7.1:
包的分层命名结构旨在方便以传统方式组织相关包,但除了禁止包含具有与顶级类型相同的简单名称的子包之外,它本身没有意义(第7.6节)在该包中声明.
例如,在名为的包
oliver和另一个名为的包oliver.twist之间,或者在名为evelyn.wood和的包之间没有特殊的访问关系evelyn.waugh.也就是说,命名包中的代码oliver.twist无法更好地访问包中声明的类型,而oliver不是任何其他包中的代码.
| 归档时间: |
|
| 查看次数: |
55 次 |
| 最近记录: |