【Java】为何Java中子类重写方法的访问权限不能低于父类中权限

因为 向上转型及java程序设计维护的原因

例:
假设一个父类A 拥有的方法 public void setXXX(){} 可以被其他任意对象调用
这个方法被子类B 覆写后 为 void setXXX(){} 即 默认的 访问权限 只能被本包极其子类 所访问

假设 其他包中的对象 C 调用 方法为:
get( A a){
a.setXXX();
}
而此时传入的对象为B类对象,假设为b此时b将转型为a但是b中的setXXX() 调用权限
已经被缩小了这将造成错误。所以子类对象不能比父类对象访问权限大

以上只是一个例子还有其他出于易维护、易代码结构设计的设计思想原因

其他:子类中重写的方法抛出的异常应该为父类中方法的子异常或相同异常,并且抛出的异常种类不能多于父类中的方法。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值