• 接口 和 抽象类


    抽象类有普通方法和抽象方法,普通方法可以实现方法细节,在java中叫做可以有方法体,抽象方法却不能有方法体。而抽象类不能实例化,除此之外跟其他类没区别。

    而接口则其内部的方法全部是抽象方法,

    在java中,类只能继承一个类,后者不管是抽象类还是普通类都可以。但是可以接多个接口。

    抽象类是物的抽象,接口是动作的抽象。

    一个类继承抽象类,必须实现抽象类里的抽象方法,一个类接了多个接口,那他必须实现接口里的全部方法。

    实际工作中接口用的比较多。

    假如把动物定成一个抽象类,类中有吃和繁殖这两个所有动物都有的抽象方法。而飞,行走,游泳,都分别定义为一个接口。比如定义一个麻雀类,则继承动物,接飞,走这两个接口。而定义一个青蛙类,则继承动物,接行走,游泳这两个接口。

    在上面,一共出现了五个方法,吃,繁殖,飞,行走,游泳,都是抽象方法。就拿吃来说,所有的动物都具备这个能力,但是又有各自不同的特点,有吃素的,有吃肉的,没什么共性,所以只能各自种类实现各自不同的吃。

    抽象方法的初衷可能就是强制要求类必须实现这个方法,

    规范代码,产生约束,减少bug

    https://blog.csdn.net/u012092924/article/details/78342193

    http://www.cnblogs.com/dolphin0520/p/3811437.html

  • 相关阅读:
    luogu P3804 【模板】后缀自动机 (SAM)
    莫队
    luogu P4688 [Ynoi2016]掉进兔子洞
    FZOJ 2331 LYK loves graph
    字典树
    luogu P6623 [省选联考 2020 A 卷] 树
    luogu P6018 [Ynoi2010]Fusion tree
    luogu P3264 [JLOI2015]管道连接
    最小斯坦纳树
    9. 回文数
  • 原文地址:https://www.cnblogs.com/saolv/p/10089785.html
Copyright © 2020-2023  润新知