计算机基础(15)继承

1.1:继承概述

定义:多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。

  • 这多个类称为子类,单独这个类称为父类或者超类。
  • 子类可以直接访问父类中非私有的成员变量与成员方法。

格式:通过 extends 关键字让类与类之间产生继承关系

 class SubDemo extends Demo{}

优点:

  • 继承的出现提高了代码的复用性。
  • 继承的出现让类与类之间产生了关系,是多态的前提之一。

弊端:使类与类之间产生了更强的耦合性

特点:

  • java只支持单继承不支持多继承。
  • java支持多层继承。
  • 任何类都直接或者间接继承自Object类。

注意事项:

  • 不要为了某个功能而去继承,需要满足”is a”的关系。

 1.2:super关键字 

super关键字:代表父类的内存空间。

  • 使用super区分子父类所属,用法与this类似
  • 子类的构造方法中均有默认的super()

成员变量:访问满足就近原则

  • 局部变量>成员变量>父类成员变量>父类的父类

成员方法

  • 子类可以直接使用父类的非私有方法。
  • 当子父类方法一样时,方法重写。

构造方法:

  • 构造方法不继承,子类的构造默认调用父类构造。
  • 父类构造方法负责对成员变量初始化供子类对象使用,而不是创建父类对象。
  • 父类没有无参构造时,子类需要手动调用其他父类构造。

1.3:方法重写

定义:子类中出现与父类一模一样的方法时,出现方法重写

  • 子类方法访问权限需要大于等于父类方法访问权限
  • 静态只能覆盖静态
  • 返回值类型:
  1. 基本类型/void:必须相同
  2. 引用类型:子类返回值类型必须为父类返回值类型的子类
  • 函数名相同
  • 参数列表相同

应用:子类需要父类功能,但又在功能上又有多增加时,可以复写父类方法。子类比父类更强大。

注意事项:

  • 父类中私有方法不可以被覆盖。
  • 在子类中想调用父类自己的方法可以使用super关键字

1.4:继承小结

  1. 子父类实例化过程
  • 子类中所有的构造函数默认都会访问父类中空参数的构造函数,原因是构造方法中第一行默认的super()
  • 子类具备父类中的数据,所以需要先明确父类是如何初始化的,即调用父类的构造方法。父类存储空间优于子类对象。
  • 大致顺序

​​​​​​​1.5:final关键字

定义:最终修饰符,修饰类与类的成员。

作用:

  • 修饰类,类不可以被继承。
  • 修饰方法,方法不可以被重写。
  • 修饰变量,变量的值不能更改,成为了常量:
  1. 常量必须有值。
  2. 常量的值只能赋值一次。
  3. 引用类型常量可以更改其堆内存对象中的值。
  • 内部类只能访问被外部类中被final修饰的局部变量。

(以上:就是继承的知识,接下来我们讲多态

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这名字tmd真难取

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值