很多人可能会觉得普通父类跟抽象父类用起来效果是差不多的,为什么还会分出来。

普通父类,实现一个接口

并且相应子类继承该父类

当我们在接口增加一个Method的时候,系统会提示父类去实现相应的方法或者将该类加上abstract关键字,父类必须实现该方法

抽象父类,实现一个接口

并且相应子类继承父类

当我们增加一个Method的时候,系统会提示各个子类去实现相应的该方法,抽象父类可以实现该方法-->相应子类可以重写该方法也可以重写   如果各个子类分别实现了该方法的话,那么抽象父类也可以选择不实现该方法

看上去就是编译器提醒的对象变掉了,

在一个比较小的系统中,这个问题可能大家觉得还好,

但是在一个庞大的系统里面,这个问题的排查难度可想而知,

所以使用抽象的父类的好处,总结起来两点,

一、抽象类是不可以被实例化的,通过做抽象父类来达到这个目的

二、再一个就是让编译器去提醒我们去相关子类重写该方法代码