继承、super、重写

简介: 整体与部分(has a关系)例如:球队与球员继承注意细节:1.子类可以继承父类的成员,但是千万不要为了减少重复代码去继承,只有正真存在继承的时候才去继承2.

整体与部分(has a关系)例如:球队与球员

继承

  • 注意细节:
    1.子类可以继承父类的成员,但是千万不要为了减少重复代码去继承,只有正真存在继承的时候才去继承
    2.父类私有的成员是不能被继承的
    3.父类中的构造方法也是不能被继承的
    4.创建子类对象时会默认首先调用父类的无参的构造方法
  • 作用:
    调用父类的构造方法的作用是为了初始化从父类继承下去的属性

super关键字

  • 代表的是父类的引用空间
  • 作用:
    1.如果子父类存在着同名的成员时在子类中,默认访问的是子类的成员,可以通过super关键字指定访问父类的成员
    2.创建子类对象时,默认会先调用父类无参的构造函数,通过super关键字可以在子类的构造函数中指定调用父类的函数
img_3946efa84e6f2a4f8945c38dfd339746.png
image.png
  • 注意的细节:
    1.super关键字调用构造函数的时候必须位于构造函数中的第一个语句
    2.this和super调用构造函数的时候不能同时出现在同一个构造函数中

方法的重写

  • 子父类存在的同名函数,这时候我们需要进行方法的重写。
  • 原因:父类的功能不能满足子类的需求
  • 要求:
    1.方法重写,子父类的函数名与形参必须一致
    2.方法重写时,子类的权限修饰符必须要大于等于父类的权限修饰符
    3.方法重写时,子类的返回值类型必须小于或者等于父类的返回值类型
    4.方法重写时,子类抛出的异常类型,必须小于或者等于父类抛出的异常类型
相关文章
|
8月前
|
Java
方法的重写
方法的重写
32 0
|
10月前
|
Java Android开发
构造器里面的super()有什么用?到底写不写?
平时写的单独一个类如果没有直接继承父类就是直接继承的Object,有父类就是间接继承的Object,因为父类会继承Object,java的所有类都是Object的子类,哪怕不写super(),也会默认调用的父类的空构造器。
75 0
|
开发者 Python
子类重写父类方法|学习笔记
快速学习子类重写父类方法,先来介绍子类重写父类方法。多态其实就是一种子类重写父类的方法。
145 0
|
前端开发 JavaScript 开发者
class-使用 extends 实现子类继承父类|学习笔记
快速学习 class-使用 extends 实现子类继承父类
96 0
|
前端开发 JavaScript
class-使用extends实现子类继承父类
class-使用extends实现子类继承父类
|
Java
Java面向对象——继承、super、this
Java面向对象——继承、super、this
124 0
Java面向对象——继承、super、this
|
Kotlin
【Kotlin】Kotlin 类的继承 三 ( super 关键字使用 | super@ 外部调用父类方法 | 子类选择性调用 父类 / 接口 方法 super )
【Kotlin】Kotlin 类的继承 三 ( super 关键字使用 | super@ 外部调用父类方法 | 子类选择性调用 父类 / 接口 方法 super )
709 0
|
算法 安全 IDE
如何重写object虚方法
如何重写object虚方法
82 0
ES6—45:子类对父类方法的重写
ES6—45:子类对父类方法的重写
143 0
ES6—45:子类对父类方法的重写
|
Python
8.4 类的重写
子类除了继承父类的所有属性和方法,还可以自定义自己的属性和方法,增加了代码的复用性 class parent(object):     name='parent'     sex='F'     def __init__(self):         print('my name is {0}'.
627 0