继承的总结

继承的总结:

  • 如果父类没有提供无参构造,那子类所有构造首行都要写明 super(有参) ; 来明确调用父类的有参构造。
  • 子类中,所有的构造,只要没有明确地调用父类构造,那就相当于在所有构造首行隐藏了一行 super() ;
  • 方法覆写时,1、名称一致,返回类型不一致,语法错误。2、名称一致,返回类型一致,参数个数及类型一致,完全覆写。 3、名称一致,返回类型一致,参数个数不一致,则为方法重载式覆写。4、名称一致,返回类型一致,参数个数一致但参数类型不一致,则为方法重载式覆写。
  • 覆写和重载相比较时,最需要注意的是,覆写要求返回值必须相同,而重载的返回值可以不同,但要求尽量相同。
  • 被子类所覆写的方法不能设置比父类更严格的访问控制权限。1、父类是public,子类只能是public。2、父类是default,子类可以是default,也可以是public。3、父类是private,因private是私有属性,所以即便子类设置更宽松的权限也无法覆写。
  • 当子类的同名方法拥有比父类更严格的访问控制权限时,编译时直接报错。
  • 继承外的问题:方法一般不建议设置private权限,因为一旦设置 private后此方法在外面就不能使用了。
  • 属性覆写时,即使用同名属性的父类和子类都为public,那父类对象调用此属性时结果也是未覆写的值。
  • 子类覆写属性仅供未向上转型的子类对像自己使用。
原文地址:https://www.cnblogs.com/haixianet/p/8544178.html