抽象方法
在方法的前面添加一个关键字:abstract
特点:
- 抽象方法没有方法体(子类必须得覆盖(重写)此方法)
- 抽象方法必须得要定义在抽象类当中 或 接口 (抽象类:在类的前面加上abstract)
- 抽象方法不能是私有的private,不能使用final修饰,也不能加static修饰
抽象类
在类(class)的前面添加一个关键字:abstract
特点:
- 抽象类不能直接创建对象
- 抽象类当中,可以有抽象方法,也可以有非抽象方法
- 子类若没有去覆盖抽象方法,子类必须也是抽象类
- 构造方法不能私有(抽象方法必须得要子类继承之后,才能实现内部的方法体)
- 抽象类不能使用final去修饰
命名习惯:抽象类习惯在类名前加上Abstract,例如:AbstractXxxYyy -> abstract class AbstractXxxYyy{... ...}
抽象类与普通类的区别:
- 普通类有的(字段,构造器,方法),抽象类都有
- 抽象类不能创建对象
- 抽象类可以有抽象方法
- 抽象类必须有子类才有意义