Java中的访问修饰符

access modifiers in Java

本问题已经有最佳答案,请猛点这里访问。

编辑以修复标记为重复或更清楚为什么它看起来是重复。当时我不知道那个包和默认包在哪里一样,所以这篇文章的原因。

现在我准备考试题来准备我的Java考试,我有一个问题让我解释访问修饰符,它问我一个包修饰符。

我可以找到有关私有、受保护、公共和默认的信息,但在包中找不到任何信息。

有人能给我一个答案或链接到一篇关于它的文章吗?


不是真正的改变。你不能用package-private来识别系统作为存取修改。这的确是一个缺陷,不是由任何其他修改者造成的。

这意味着,只有在同一个包装中才能得到这一given members。

例如,EDOCX1[(2)]可在EDOCX1[(3)]中查阅防范改性剂(none actually)的成员,但EDOCX1[(4)]不能在同一套程序中查阅成员。

In this example,the following makes up Cow

1
2
3
4
5
6
pacakge com.hexafraction;
class Cow{
    void moo(){ //no public, protected, or private modifier
        System.out.println("moo!");
    }
}

未来版:在Java 8,EDOCX1&6)将是这个修改的必要条件。目前还没有评论。


所谓的"封装-私人"准入水平是指没有诸如privatepublic之类的修改就出现的情况。

Example:

ZZU1

同一组中的任何东西,即使是一个不相关的类别,都可以进入,但在同一组之外的其他类别(甚至亚类)也不能进入。

This link to the Java tortorial on the subject should help.