虽然默认修饰符的可见性低于修饰符家族中protected的可见性,但为什么可以将类设为默认类而不设为protected。
为什么一个类可以被设置为默认类,但不能被设置为受保护类?
一个更明智的问题是,为什么Java只容忍公共顶级类?
允许包私有顶层类的规定已经是Java最早版本的破解,在嵌套类的基础上进行了改进并被其取代,如果您愿意,可以使用protected
。
我希望您指的是顶级类(只能是公共类或默认类)。否则,内部类可以有任何修饰符。
当我们说protected时,意味着它可以从包含受保护实体的类的所有子类访问(可以是一个类)。
如果最外层的类是受保护的,那么它就定义了受保护修饰符的定义。
类可以被保护!。i、 e内部类可以得到保护。
class A{
protected class C{
}
}
当我们谈论继承(扩展)时,Protedted就出现了。这就是为什么我们不能将继承上下文之外的任何内容作为保护对象。!