import java.util.*;
public class NewTreeSet2{
void count(){
for (int x=0; x<7; x++,x++){
System.out.print(" " + x);
}
}
}
protected class NewTreeSet extends NewTreeSet2{
public static void main(String [] args){
NewTreeSet2 t = new NewTreeSet2();
t.count();
}
}
在这里,我无法将NewTreeSet子类视为受保护。为什么是这样?我不想做任何事情,这只是为了理解访问说明符。
答案 0 :(得分:3)
public
是唯一可以显式应用于Java中的顶级class
的访问修饰符。在类的情况下,protected
修饰符只能应用于内部类。
访问修饰符protected和private仅适用于直接封闭类声明中的成员类
那么为什么不能将顶级课程标记为protected
? protected
中Java
访问修饰符的目的是添加对类成员访问的限制。由于顶级类不是任何类的成员,因此protected
访问修饰符对顶级类没有意义。内部类可以标记为protected
,因为它们确实是类的成员。同样的规则也适用于private
。