Java访问修饰符 - 子类和包可用的方法

时间:2009-08-29 14:57:12

标签: java access-modifiers

与方法一起使用时,哪些访问修饰符可用于包中的所有类和子类?

4 个答案:

答案 0 :(得分:9)

publicprotected和默认修饰符(没有关键字)。除private以外的所有内容。

例如,假设包foo具有以下类:

public class MyClass {
   public void method1() { };
   protected void method2() { };
   void method3() { };
   private void method4() { };
}

然后,课程foo.SecondClass可以调用方法method1method2method3,但不能调用method4

请参阅Java tutorial以获取每个修饰符允许的有用表格。

答案 1 :(得分:2)

除私人以外的所有内容(例如public,protected和默认修饰符)。 请参见下图。 enter image description here

答案 2 :(得分:1)

包访问修饰符实际上是缺少修饰符。它也被称为'默认'修饰符。有关详细信息,请参阅here

答案 3 :(得分:1)

事实证明protected实际上没有什么“保护”。默认的 package-private protected都允许从包内进行访问; protected然后为包外的子类添加可见性。它虽然比public更“受保护”。