语法

class 子类 extends 父类

方法的重写

如果子类对集成父类的方法不满意,是可以重写父类继承的方法。
调用方法时会优先调用子类的方法。

** 返回值类型、方法名、参数类型及个数都要与父类继承的方法相同。

继承的初始化顺序

  1. 初始化父类再初始子类
  2. 先执行初始化对象中属性,再执行构造方法中的初始化(即,如果在构造方法中该变量属性值,则为最终值)

final关键字

使用final关键字做标识,具有“最终的”含义。

final可以修饰类、方法、属性和变量

  1. 修饰类:则该类不允许被继承
  2. 修饰方法:则该方法不允许被重写
  3. 修饰属性:则该类的属性不会进行隐式的初始化【类的初始化属性必须有值 或者 在构造方法中赋值】
  4. 修饰变量:该变量的值只能赋一次值,即变为常量

super关键字

在对象的内部使用,代表父类对象。

  1. 访问父类的属性: super.age
  2. 访问父类的方法: super.eat()
  • 子类在继承的时候,会先调用父类的构造方法,相当于隐式的定义super();
  • 子类中显式调用父类的构造方法,必须在子类的第一行写super();
  • 如果子类构造方法中既没有显示调用父类的构造方法,而父类又没有无参的构造方法(即父类定义了有残的构造方法的情况),则编译出错。