与方法一起使用时,哪些访问修饰符可用于包中的所有类和子类?
答案 0 :(得分:9)
public
,protected
和默认修饰符(没有关键字)。除private
以外的所有内容。
例如,假设包foo
具有以下类:
public class MyClass {
public void method1() { };
protected void method2() { };
void method3() { };
private void method4() { };
}
然后,课程foo.SecondClass
可以调用方法method1
,method2
和method3
,但不能调用method4
。
请参阅Java tutorial以获取每个修饰符允许的有用表格。
答案 1 :(得分:2)
除私人以外的所有内容(例如public,protected和默认修饰符)。 请参见下图。
答案 2 :(得分:1)
包访问修饰符实际上是缺少修饰符。它也被称为'默认'修饰符。有关详细信息,请参阅here。
答案 3 :(得分:1)
事实证明protected
实际上没有什么“保护”。默认的 package-private 和protected
都允许从包内进行访问; protected
然后为包外的子类添加可见性。它虽然比public
更“受保护”。