java继承

继承

为什么要用继承

降低代码的复用性

继承的基本介绍和示意图

继承可以解决代复用,让我们的编程更加靠近人类思维,当多个类存在相同的属性和方法时 可以从这些类中抽象出父类 在父类中定义这些相同的属性和方法 所有的子类不需要重新定义这些属性和方法,只需要通过extends来声明继承父类即可

继承的基本语法

class  子类 extends 父类{}
子类会自动的又有父类定义的属性和方法
子类又叫做超累 基类
子类又叫派生类

继承的示意图

请添加图片描述

继承的注意细节

  1. 提高代码的复用性

  2. 代码的扩展性和维护性提高了

    注意细节

    1、子类继承了所有的属性和方法 但是私有属性不能再子类直接访问 要通过父类提供的公共的方法去访问
    2、非私有的属性和方法可以直接访问
    3、子类必须调用父类的构造器 完成父类的初始化
    4、当创建子类对象是,不管使用子类的那个构造器 默认情况下总会去调用父类的无参构造器,
    如果父类没有提供无参构造器 则必须再子类的构造器中用super去指定使用父类的那个构造器完成对父类的初始化工作 否则编译不会通过
    5、 如果希望指定去调用父类的某个构造器 则必须显示表示出来
    6super在使用时,必须放在第一行
    7superthis都必须放在第一行 因此两个方法不能共存在一个构造器
    8、java所有类都是Object的子类,Object时所有类的基类
    9、父类构造器的调用不限于直接父类 将一直往上追溯到object类(顶级父类)
    10、子类最多只能继承一个父类(直接继承)即java时单继承机制
    11、不能滥用继承关系 子类和父类之间必须满足is-a的逻辑关系(是一个什么什么的)
    

继承的本质

内存图

请添加图片描述

System.out.println(son.name)//按照查找关系来返回信息
/*
1.首先看子类是否有该属性
2.如果子类有这个属性并且可以访问 则返回信息
3.如果子类没有这个属性 就看父类有没有这个属性
4.如果父类没有就按照上述规则继续寻上级父类直到Object类
*/
    注意点
    访问父类如果是私有的变量 仍然可以访问到 但是无法直接调用 需要通过个public 的方法来调用。不会跳过父类去找爷类
    

继承相关习题

请添加图片描述

请添加图片描述

继承的基本思想:父类的构造器完成父类属性的初始化,子类的构造器完成子类的初始化

super关键字

基本介绍

super代表父类的引用,用于访问父类的属性 方法 构造器

基本语法

  1. 访问父类的属性 但不能访问父类的private属性 super.属性名
  2. 访问父类的方法,不能访问父类的private方法 super.方法名(参数列表)不会查询本类直接去父类中查找
  3. 访问父类的构造器 super(参数列表) 只能访问构造器的第一句 只能出现一句

优点

  1. 调用父类构造器的好处(分工明确 父类属性由父类初始化 子类的属性由子类初始化)
  2. 当子类中由和父类中的成员(属性和方法)重名时,为了访问父类的成员 必须通过super。
  3. 如果没有重名 使用super this 直接访问是一样效果

直接访问和this.查找的规则是:

/*
1、先找本类 如果有 则调出
2、如果没有则找父类
3、如果父类没有则继续找父类的父类 直到object
*/

4、super 的访问不限于直接父类 如果爷爷类和本类有同名的成员 也可以使用super去访问爷爷类的成员;如果多个基类中都有同名的成员,使用super访问遵循就近原则 A->B->C ,当然也需要遵循权限原则

请添加图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

加菲猫���

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

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

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

打赏作者

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

抵扣说明:

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

余额充值