2020-08-07

第九章 继承

继承是多态的前提,如果没有继承就没有多态
1.面向对象的第二大特征:继承性
2.什么是继承?
子类继承父类,允许子类拥有父类的属性和行为
3.优点:提高了代码的复用性
缺点:由于会有多层的继承关系,会提高他们之间的依赖关系,耦合度会变高
4.语法
class 子类 extends 父类{

5①使用继承以后,父类所有的属性(私有的除外)和方法子类都可以获取到
②子类除了通过继承获取父类的属性和方法外,还可以单独定义自己独有的属性和方法
③一个子类还可以派生别的子类
④一个父类可以有多个子类,一个子类不可以有多个父类,java的继承是单继承
6.方法重写:如果父类的方法满足不了子类要求,子类可以对父类的方法进行重写(重点)
重写规则:
①要求子类重写的方法名、参数列表、返回值类型必须和父类完全一致
②子类重写方法的访问修饰权限不能低于父类方法修饰符权限
③子类方法和父类方法必须同为static(静态)或非static
7.重载(overload)和重写(override)的区别(重点整理)
①方法重载必须在同一个类中,方法重写必须存在继承关系
②方法重载要求方法名相同、参数列表必须不相同,和返回值无关
③方法重写要求方法名、参数列表、返回值必须和父类一致
8.super关键字可以修饰属性、方法、构造方法
①当子类和父类的属性出现重名时,默认会调用子类的属性,可以通过“super.属性名”的方式显示的调用父类声明的同名属性
(this用在成员变量和局部变量重名时)在这里插入图片描述
②子类重写父类方法后,如果子类想再次调用父类被重写的方法,可以通过“super.方法名()”的方式调用父类方法
③super可以修饰构造方法,子类构造方法中使用“super.()”来显示的调用父类对应的构造方法在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
子类无参构造方法加不加super()一样,默认给加上
注意:
①super(形参)必须声明在首行
②说明thiis(形参)和super(形参)只能出现一个
③在构造方法中,不显示的通过super(形参)的方式调用父类对应的构造方法,默认会调用父类无参的构造方法
9.所有类的基类都是Object ,java所有类的父类
如果一个类没有显示的继承谁,就继承object
syso Person.class.getSuperclass().getName() ;//显示的打印继承谁(class反射)
10.访问修饰符:修饰类、变量、方法、接口(重点总结)
public:公用的,在当前项目下任何地方都可以访问
protected:受保护的,在同一个包下或者在其他子类中可以访问
default:缺省,在同一个包下
private:私有的,在当前类下访问在这里插入图片描述
子类对象实例化的全过程在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值