因为 向上转型及java程序设计维护的原因
例:
假设一个父类A 拥有的方法 public void setXXX(){} 可以被其他任意对象调用
这个方法被子类B 覆写后 为 void setXXX(){} 即 默认的 访问权限 只能被本包极其子类 所访问
假设 其他包中的对象 C 调用 方法为:
get( A a){
a.setXXX();
}
而此时传入的对象为B类对象,假设为b此时b将转型为a但是b中的setXXX() 调用权限
已经被缩小了这将造成错误。所以子类对象不能比父类对象访问权限大
以上只是一个例子还有其他出于易维护、易代码结构设计的设计思想原因
其他:子类中重写的方法抛出的异常应该为父类中方法的子异常或相同异常,并且抛出的异常种类不能多于父类中的方法。
本文深入探讨了Java程序设计中向上转型与继承访问权限的问题,通过具体实例解释了父类方法与子类方法访问权限之间的冲突,并强调了维护代码结构与设计原则的重要性。同时,文章还阐述了子类中重写方法抛出异常的原则,以及在设计时需考虑的其他因素。
922

被折叠的 条评论
为什么被折叠?



