两个类的属性、方法高度相似---->继承(解决代码复用性)
从多个相似的类中抽象出父类,在父类里面定义这些重复的属性和方法,子类不需要重复定义,只需要通过extends继承父类就行
子类也可以有它自己的子类
1.子类继承了父类的所有属性,但是私有属性和方法子类不能直接访问【可通过公共的方法访问】
到时候就可以直接调用这个方法来给父类的私有属性赋值
2.子类必须调用父类的构造器完成父类的初始化
创建一个子类对象的时候,父类的无参构造器也被调用了(先调用父类,后调用子类)
3.创建子类对象的时候,不管子类用哪个无参构造器,都默认调用父类的无参构造器【如果父类没提供无参构造器,必须在子类的构造器中用supper指定一下用哪个构造器完成父类的初始化。否则编译不通过】
4.如果希望显式的调用一下父类的某个构造器,可以显示的去调用(不写super就是默认调用无参构造器) 【super(参数列表)】
子类构造器里面super的参数列表和父类的哪个构造器的参数列表对应,就调用的哪个父类的构造器
5.super用的时候必须放在构造器第一行(super只能在构造器里面用)
6.super和this不能共存在一个构造器(这俩都得在第一行)
7.Java中所有类都是object的子类
8.父类构造器的调用不局限于直接的父类,将一直追溯到最顶级的父类(object类)
9.子类只能继承一个父类(直接继承),Java中的单继承机制
【怎么让a类继承b类和c类? 让a继承b,b再继承c】