面向对象-抽象
什么是抽象类
抽象类就是由类与类之间进行共性抽取,进一步抽象而形成的。
可以看出将对象的共同特征抽象出来形成类,将类与类之间的共同特征抽象形成抽象类,抽象类还可以进一步抽象…
抽象类的语法格式
[修饰符列表] abstract class 类名{类体}
为什么要使用抽象类
面向抽象编程,可以降低程序之间的耦合度,提高程序的扩展力
抽象类的特点
- 抽象类不能被实例化,只能由子类继承由子类实例化;但是抽象类中有构造方法,这个构造方法是给抽象类的非抽象子类提供的。
- 抽象类的子类可以是抽象类也可以是非抽象类
- final和abstract不能同时使用,他们是对立的(被final修饰类不能有子类,被abstract修饰的类只有子类继承才能实例化对象)
抽象方法的特点
- 抽象方法以";"结尾
- 抽象方法被abstract关键字修饰
- 抽象方法由非抽象子类来实现
抽象类与抽象方法的关系
- 抽象类中不一定有抽象方法,但抽象方法一定要写在抽象类中。
- 非抽象子类继承抽象类,要求非抽象子类必须重写抽象类中的所有抽象方法。