子类覆写方法,权限修饰要大于等于父类,但是当父类 权限修饰是private,子类权限修饰使用 public这种情况是不可以的,方法覆写中不能出现private权限 ,隐式继承的方法无法被覆写。
关于显示继承和隐式继承:
显示继承:(子类可以直接调用)父类中的所有非私有操作
隐式继承:父类中的所有私有操作,(private 封装的,必须通过其他形式调用,要使用getter,setter,不能直接调用)私有属性只能内部自己访问,子类继承,必须通过其他形式调用,使用getter,setter
为什么子类覆写方法,权限修饰要大于等于父类?
在父类中是public的方法,如果子类中将其降低访问权限为private, 那么父类在实现多态时如果调用子类的这个重写方法,但是这个方法已经是private,没有办法调用,所以就无法实现多态了。
子类继承父类表示的意思是继承了所有的它的属性和方法,如果访问权限小于父类,那么对于某些类,其对于子类的一些方法就丢失掉了原本应该能够访问到的方法(这些方法在父类中可以访问到),也就是会造成父类的某些部分(私有方法和属性除外)相对来说没有被继承下来,这显然违背了继承的原则,因此自相矛盾。