M.J*_*.J. 74 java class protected
我知道这是一个愚蠢的问题,但我仍然怀疑需要清除.
我的问题是,为什么我们不能将课程定义为protected?
我知道我们不能,但为什么呢?应该有一些具体的原因.
Nik*_*bak 89
因为没有意义.
受保护的类成员(方法或变量)就像package-private(默认可见性),除了它也可以从子类访问.
由于Java中没有'subpackage'或'package-inheritance'这样的概念,因此声明class protected或package-private将是同样的事情.
但是,您可以将嵌套和内部类声明为protected或private.
Aka*_*288 38
如您所知,默认是针对包级访问,而protected是针对包级别加非包类,但是扩展了这个类(这里要注意的是,只有在可见的情况下才可以扩展类!).我们这样说吧:
由于没有办法限制这个类只被几个类子类化(我们不能限制类只被包中/包外的所有可用类中的几个类继承),所以没有使用受保护的访问说明符对于顶级课程.因此不允许这样做.