大白成为Java软件攻城狮的第二十二天(继承、方法覆盖)

继承

关于java语言当中的继承:

  • 1 继承是面向的对象三大特征之一,三大特征是封装、继承、多态。

  • 2 继承“基本”的作用是:代码复用。但是继承最“重要”的作用是:有了继承才有了以后的“方法覆盖”和“多态机制”

  • 3 继承语法格式:

[修饰符列表] class 类名 extends 父类名{
	类体 = 属性 + 方法
}
  • 4 java语言当中的继承只支持单继承,一个类不同同时继承很多类,只能继承一个类。【在C++中支持多继承】。

  • 5 关于继承中的一些术语:
    B类继承A类,其中:
    A类称为:父类、基类、超类、superclass
    B类称为:子类、派生类、subclass

  • 6 在Java语言当中子类继承父类都继承那些数据?
    私有的不支持继承
    构造方法不支持继承
    其他数据都可以被继承

  • 7 虽然java语言当中只支持单继承,但是一个类也可以间接继承其他类,例如:

C extends B{
}
B extends A{
}
A extends T{
}
C类直接继承B类,但是C类间接继承T、A类。
  • 8 java语言中假设一个类没有显示的继承任何类,该类默认继承JavaSE库中提供的java.lang.Object类。java语言中任何一个类中都有Object类的特征。

方法覆盖

1 方法覆盖又称方法重写(override[官方]、overwrite)

2 什么时候使用方法覆盖?

当父类中的方法已经无法满足当前子类的业务需求,子类有必要将父类中继承过来的方法进行重新编写,这个编写过程称为方法重写/方法覆盖。

3 什么条件满足之后会发生重写呢?

代码满足什么条件之后,就构成方法的覆盖呢?

  • 方法重写发生在具有继承关系的父子类之间
  • 返回值类型相同,方法名相同,形参列表相同
  • 访问权限不能更低,可以更高。
  • 抛出异常不能更多,可以更少

建议方法重写的时候尽量复制粘贴,容易导致没有产生覆盖。

注意

  • 私有方法不能继承,所以不能覆盖
  • 构造方法不能继承,所以不能覆盖
  • 静态方法不存在覆盖
  • 覆盖只针对方法,不谈属性
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值