java程序中的“世界”访问级别是啥?

Posted

技术标签:

【中文标题】java程序中的“世界”访问级别是啥?【英文标题】:What is the "world" access level in a java program?java程序中的“世界”访问级别是什么? 【发布时间】:2015-11-13 10:15:20 【问题描述】:
Access Levels
Modifier        Class   Package Subclass    World
public            Y       Y       Y          Y
protected         Y       Y       Y          N
(Default)         Y       Y       N          N
private           Y       N       N          N

什么是“世界”访问级别?它与包访问级别有何不同?

编辑:我的错。错误地认为程序中的所有代码都在一个包中。

【问题讨论】:

呃,公开? public 是最开放的,几乎没有什么是不能访问 public 字段的。 World 表示每个元素,无论其位置如何。 @oxguy3 我不明白。这与能够从整个包中访问有何不同? @qaz 并非所有 Java 代码都位于同一个包中。一个包类似于java.utilcom.google.common.baseorg.junit 【参考方案1】:

这直接来自Java Tutorial:

访问级别

Modifier    Class   Package Subclass    World

public      Y       Y       Y           Y
protected   Y       Y       Y           N
no modifier Y       Y       N           N
private     Y       N       N           N

第一个数据列表示该类本身是否有权访问 访问级别定义的成员。如你所见,一堂课总是 可以访问自己的成员。第二列表示是否 与类在同一个包中的类(不管它们的 亲子关系)可以访问该成员。第三列表示 在这个包外声明的类的子类是否有 访问成员。第四列表示是否所有类 有权访问该成员。

“世界”的范围实际上是“一切”——任何类,无论它属于哪个包,都可以访问使用public 访问修饰符声明的类。 p>

将此与protected 进行对比,这意味着包内的类和受保护类的子类(无论包如何)都可以访问该类。

【讨论】:

【参考方案2】:

public是java中最广泛的访问级别。对访问属性或继承类成员没有限制。它们在所有包中都是可见的。所以,最终没有像世界修饰符这样的东西,而它可能只是定义的同义词公开。

【讨论】:

以上是关于java程序中的“世界”访问级别是啥?的主要内容,如果未能解决你的问题,请参考以下文章

java语言支持oop中的oop是啥

JAVA中的native是啥权限啊

JAVA中,类的缺省访问范围是啥

java类中的成员缺省(默认的)的修饰符是啥??

在Java和c#中如果不写访问修饰符,类和类成员默认的是啥访问修饰符?

Java里面的JDBC是啥意思啊?