重写是实现多态性的一种方式. 而多态的目的是 为了提高复用,还有扩展性.
1.如果方法签名不一致,那么接口不存在多态. 也就不是重写了.
2.如果你的访问权限 比父类要小.那么 在父类的引用变量引用子类的实例的时候,很有可能会出现访问不到的情况而报错.对于扩展 或者维护是个噩梦意味着你需要大量的修改原有代码
3.子类方法如果抛出了一个更大的异常. 父类异常处理代码 无法复用. 需要大量修改
2 3 都违背了 里氏替换 原则 .是违背了多态的目的的.所以会做相应的约束.
重写是实现多态性的一种方式. 而多态的目的是 为了提高复用,还有扩展性.
1.如果方法签名不一致,那么接口不存在多态. 也就不是重写了.
2.如果你的访问权限 比父类要小.那么 在父类的引用变量引用子类的实例的时候,很有可能会出现访问不到的情况而报错.对于扩展 或者维护是个噩梦意味着你需要大量的修改原有代码
3.子类方法如果抛出了一个更大的异常. 父类异常处理代码 无法复用. 需要大量修改
2 3 都违背了 里氏替换 原则 .是违背了多态的目的的.所以会做相应的约束.