0x01 抽象方法
- 特点
- 没有方法体
- 抽象方法必须定义在抽象类或接口
- 不能是私有的,不能使用final,不能使用static
- 子类必须要覆盖此方法
0x02 抽象类
抽象类必须得要有子类才行(抽象类一般都当作父类来继承)
- 抽象类是不能直接创建对象的
- 抽象类当中可以有抽象方法,也可以有普通方法(普通方法:给子类调用的)
- 子类没有覆盖抽象方法,把子类也变成抽象类,然后创建一个子孙类,让子孙类去覆盖
- 抽象类的构造方法不能定义为私有的(抽象方法必须得让子类继承之后,才能实现内部的方法体,因为子类如果继承的话,先去调用父类的构造方法)
- 抽象类不能使用final来修饰
抽象类不是一个完整的类,需要作为一个父类,子类才能完成对应的功能。
抽象类命名时,喜欢在前面添加一个Abstract单词
- 抽象类与普通类的区别?
- 普通类有的(字段,方法,构造器),抽象类都有
- 抽象类不能创建对象,抽象类可以包含抽象方法,也可以包含普通方法
- 抽象类必须有子类才有意义