7-6 继承、final、super、覆写、多态

1 面向对象

ectend

是什么

继承: 

1 继承是指从已有的类中,派生出新的类,新的类拥有父类的属性和行为,并且还能扩展新的属性和行为

2Java中只支持单继承,不支持多继承,这样可以让java中的继承关系比较简单

  一个类只能有一个父类,但是一个父类可以有多个子类,易于维护和管理

  为了解决单继承功能变弱问题,java提出了接口,一个类可以实现多个接口

3继承是可以传递的,比如A继承B,B继承C,则A也会继承C的功能

4私有属性和构造方法是不能被继承

5如果一个类没有显示继承其他类,则该类继承object

    java.lang.object 是java提供的跟类

   object 中的功能是所有类对象都有的

能做什么

解决问题

 提高了代码的效率,避免了代码的重写,提高了代码重用性

 怎么用

语法

[修饰符] class 子类名 extend 父类名{}

super

 是什么

1  保存了父类型特征

2  在有继承关系的体系中,可以通过super表示父类的数据

能做什么

1   用在成员/构造方法中,区分父类和子类同名的数据(同名后,子类优先级高,想要使用父类,就需要使用super.xxx才行)

2  用在子类构造方法中,调用指定的父类构造方法

    语法 : super(参数);必须在子类构造方法第一行

    this(xxx)和super(xxx)都必须出现在构造方法第一行,也就意味着,他们两个不能同时出现

3 this和super都不能出现在静态上下文中

怎么用

1区分父子类同名属性

2 调用父类指定构造方法

override

是什么

是方法覆写/覆盖/重写,覆写特指成员方法,除了成员方法,其他的都不能覆写

应用场景

1   什么时候需要对父类方法进行覆写

当父类的功能满足不了子类的需求的时候

2覆写条件

  1  有继承关系的体系中

   2方法名必须一致,如果方法名不一致,就是两个方法了

   3   参数列表必须,如果参数列表不一致,这是方法重载,也是两个方法

  4  返回值必须一致

  5 不能有更宽泛的异常(异常只能越来越少)

  6  不能有更低的访问权限

3覆写的意义

功能越来越强

适用范围越来越广

错误越来越少

final

是什么

final 是修饰符,表示最后的,最终的,不可更改的

类  final 修饰的类不能被继承

变量 没有默认值,不能二次赋值,必须显式赋值(不能有不赋值的情况)

方法   final  修饰的成员方法不能被覆写

final 修饰的静态变量,一般被成为常量,public static final xxx;常量名建议全部大写

怎么用

来源:为所欲为铲子嘴

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年6月4日
下一篇 2021年6月4日

相关推荐