首先是,java中万事万物都是类,类之间互相访问调用是常态,所以private封闭自己,那这个类创建出来也没用,无人能访问那为什么要创建它呢?
然后说protected,它的作用范围是
包内和其他包的子类。包内不用说,如果有一个类A是protected,其他包的类B想要继承它
那它需要先访问它(我看别人这样说的,初学者具体原理不是很清楚),按照这个逻辑想要继承一个protected的类A,需要先访问它,但是其他包的类除了子类是不能访问的,这就是一个悖论了。如果说我把类B放进和这个类 A在一个包内就行了,但是这样的话和default (缺省) 有什么区别呢。
综上所述类(class) 为了满足各种需求,所以只能使用缺省default和public 两种访问修饰符了。