很多人可能会觉得普通父类跟抽象父类用起来效果是差不多的,为什么还会分出来。
普通父类,实现一个接口
并且相应子类继承该父类
当我们在接口增加一个Method的时候,系统会提示父类去实现相应的方法或者将该类加上abstract关键字,父类必须实现该方法
抽象父类,实现一个接口
并且相应子类继承父类
当我们增加一个Method的时候,系统会提示各个子类去实现相应的该方法,抽象父类可以实现该方法-->相应子类可以重写该方法也可以重写 如果各个子类分别实现了该方法的话,那么抽象父类也可以选择不实现该方法
看上去就是编译器提醒的对象变掉了,
在一个比较小的系统中,这个问题可能大家觉得还好,
但是在一个庞大的系统里面,这个问题的排查难度可想而知,
所以使用抽象的父类的好处,总结起来两点,
一、抽象类是不可以被实例化的,通过做抽象父类来达到这个目的
二、再一个就是让编译器去提醒我们去相关子类重写该方法代码