- 格式:[class 子类 extends 父类 implements 父接口...]。
- 方法重写:
- 返回值类型、方法名、参数类型及个数与父类完全相同。
- 调用时优先调用子类的方法。
- 初始化顺序:
父类属性初始化->父类构造方法->子类属性初始化->子类构造方法
- final关键字(类似于C#中的sealed)
- final修饰类:该类不允许被继承。
- final修饰方法:该方法不允许被重写。
- final修饰属性:该属性不会进行隐式的初始化(类的初始化属性必须有值)或者在构造方法中赋值(只能选其一)。
- final修饰变量:该变量的值只能赋值一次,即变为常量。
- super关键字:在对象的内部使用,可以代表父类对象。
eg: super.age、super.Eat()
- 如果子类的构造方法中没有显示调用父类的构造方法,则系统默认调用父类无参的构造方法。显示调用父类无参构造方法运用super();该语句必须放在子类构造方法第一行。如果子类构造方法中既没有显式调用父类的构造方法,而父类又没有无参的构造方法,则编译出错。