了解 Java 中的修饰符 [重复]

Posted

技术标签:

【中文标题】了解 Java 中的修饰符 [重复]【英文标题】:Understanding modifiers in Java [duplicate] 【发布时间】:2020-05-06 13:57:38 【问题描述】:

Java 中的 Public 和 Protected 有什么区别?根据https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html 此处提供的 Oracle 文档,Public 也可供全世界使用,而 Protected 则不可用。现在,我无法理解这里的“世界”是什么意思。有人可以澄清一下吗? 谢谢, 阿尔贝托

【问题讨论】:

该文档对protected 有什么看法(除此之外)? 还有很多其他资源可以解释这一点。如果 Oracle 教程不适合您,那么至少还有一百种其他解释。你不应该要求第 101 次。 我无法理解他们对“世界”这个词的含义。 Public 意味着包中的任何类都可以访问(其中的代码)声明为 Public 的类,好吧,但是为什么要使用 World 这个词呢?它让我明白,不知何故,任何其他用 Java 编写的程序都可以访问声明为 Public 但存在于另一个程序中的该类的代码,而使用 Protected 则不会发生这种情况。 【参考方案1】:

世界就是你的程序。例如,使用 protected 修饰符,字段/方法将无法从其他包访问,而使用 public 修饰符,您可以访问它们。

【讨论】:

好的,所以 World 这个词的意思是组成一个程序的所有包。好的,谢谢,这就是我无法理解的。【参考方案2】:

公开 = 每个人都可以看到它。

受保护 = Package Private + 可以被子类或包成员看到。

世界 = 应用程序中的所有代码,无论它在哪里。

【讨论】:

谢谢,我明白了!

以上是关于了解 Java 中的修饰符 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

了解 Perl 正则表达式修饰符 /m 和 /s [重复]

对Java的修饰符有点困惑[重复]

没有访问修饰符的字段,java [重复]

Java中的修饰符

java中的类修饰符成员变量修饰符方法修饰符

java中的类修饰符成员变量修饰符方法修饰符。