2

Java包层次结构会影响类和变量的访问权限吗?

关于 Java 包:http ://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html

请看一下这一行:

...第二列表示与该类位于同一包中的类(无论其父母身份如何)是否可以访问该成员。...

据我所知,package com.googlepackage com.google.music两个独立的包。他们完全没有联系。它们的区别就像 和 之间的区别package com.google一样package com.yahoo

这是真的?

有没有办法,或者关键字(public、private、protected等),可以让关系package com.googlepackage com.google.music紧密?

谢谢!

4

2 回答 2

3

Java 语言规范写道

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

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

也就是说,你如何嵌套你的包对程序的语义没有影响。

于 2013-04-02T19:42:01.633 回答
2

不,没有这样的关键字。在java中有4个访问级别:

  • 上市
  • 受保护
  • 私人的
  • 默认(包访问,同一包中的其他类可以访问该属性)。
于 2013-04-02T19:32:35.637 回答