热门
假设一个父类A 拥有的方法 public void setXXX(){} 可以被其他任意对象调用 这个方法被子类 B 覆写后为 void setXXX(){} 即默认的访问权限,只能被本包极其子类所访问
假设其他包中的对象 C 调用方法为
get(Aa) { a.setXXX(); }
而此时传入的对象为 B 类对象,假设为b,此时 b 将转型为 a,但是 b 中的 setXXX() 调用权限已经被缩小了这将造成错误,所以子类的方法的访问权限不能小于父类。
以上只是一个例子还有其他出于易维护、易代码结构设计的设计思想原因~