Java 三大特征之继承

因为java面向对象是期末考试重点,所以现在开始对此部分内容进行一些知识点总结。

这一篇是关于面向对象三大特征的第二个——继承。

首先,我们知道继承是类和类之间的父子关系,那我们为什么要用继承,是为了解决什么呢。

1、通过把多个子类中重复的代码抽取到父类中,减少重复的代码,提高代码的复用性。

2、子类可以在父类基础上,增加其他功能,从而子类更加强大。

关键字 extends

格式:public class 子类 entends 父类{ }

知道了这些,我们最重要的是要自己能够判断什么时候需要用继承。可以用一句话概括来说,就是当类与类之间,存在相同的内容,并满足子类是父类中的一种,就可以考虑使用继承。

继承的特点

只支持单继承(一个子类继承一个父类),不支持多继承(子类继承多个父类),但是支持多层继承(子类A继承父类B,父类B继承父类C)。

而每一个类都直接或间接的继承于Object(后续再开一篇细讲object)

子类可以继承父类的哪些东西

下面我们将从三个方面来看,分别是构造方法、成员变量、成员方法。

1.构造方法

          无论什么修饰符,子类都不能继承

2.成员变量

          无论什么修饰符,子类都可以继承(但私有不可以之间调用,需要借助get和set)

3.成员方法

          只有非私有才可以继承下来。(只有父类中的虚方法才能被子类继承)

继承中的语法知识点

继承中:成员变量的访问特点

                就近原则:谁离得近,就用谁

(具体:先在局部位置找,本类成员位置找,父类成员位置找,逐级往上)

d96b07fce8ec4ec28e9e2f65c37056a0.png

 继承中:成员方法的访问特点

                 1、 直接调用近原则:谁离得近,就用谁

                  2、super调用,直接访问父类

        方法的重写:当父类的方法不满足子类需求,则进行方法重写

重写的书写格式:子类和父类一模一样的方法声明

        (建议重写方法都在上面加上@Override,出现红色波浪线就是报错!)

(区分重载:方法头不同-参数个数不同,参数数据类型不同。

    重写与重载共同点:方法名必须一致)

 继承中:构造方法的访问特点

父类中的构造方法不会被子类继承。

子类中所有的构造方法默认先访问父类中的无参构造,在执行自己。

(解释:子类在初始化时,有可能会使用到父类中的数据,如果父类没有完成初始化,子类将无法使用父类数据,所以 子类初始化之前,一定要调用父类构造方法完成父类数据空间的初始化。)

那么,下面的问题就是如何调用父类构造方法呢?

*子类构造方法的第一行语句默认都是,super(),不写也存在,且必须在第一行。

*如果调用父类有参构造,必须手动写super进行调用。

this、super使用总结

this:理解为一个变量,表示当前方法调用者的地址

 super:代表父类存储空间

e906782760714107a248a523fc910ad0.png

其中,关于this(...),何时用:给一些数据默认值用此方式

f8e1c9fc8c334a1799e9e61378621a80.png

 (this 就是调用了本类其他构造方法)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值