首先我们要知道java中为什么要有抽象类和抽象方法,原因是为了解决java中接口的缺陷,接口在声明类的方法的时候,是根据一部分类的需要。如果有一天,随着业务需求的增加,功能要求越来越多,而我们又需要通过接口来实现,而接口是公用的,某些类具有自己的特殊功能,而我们并不能因为一个类的添加功能而影响到其余类来使用接口,此时我们就需要使用抽象类,在这里我们贴个图说明下:
上图我们有一个抽象类Animals,eat和sleep这两个方法是动物正常有的动作,因此我们把这些方法作为公有使用,而study是某一些类特殊需要的,那我们就把它声明为抽象方法,并且不实现,那我们应该实现在哪里呢?看下图:
当我们有一个关于人的类的时候,我们需要使用study这个方法,那我们直接把study这个方法实现在类中。
这样我们就实现抽象类和抽象方法的使用,这样的代码更具有维护性和扩展性。