JAVA语法 抽象类和接口的区别

前言

乍看之下,两者实现的功能好像差不多,因为两者都不能被实例化,但其实差别还是很大的


区别

  1. 抽象类要被子类继承
    接口要被类实现
    在这里插入图片描述

  2. 接口只能做方法声明
    抽象类中可以作方法声明,也可以做方法实现
    在这里插入图片描述

  3. 接口里定义的变量只能是公共的静态的常量
    抽象类中的变量是普通变量
    在这里插入图片描述

  4. 接口是设计的结果
    抽象类是重构的结果.

    这里用通俗易懂一点的话来讲,就是:
    接口,就是写文章先写好所有的小标题。然后所有人都使用一样的小标题,但底下的文章可以自由发挥
    抽象类,就是写文章先写好所有的小标题,但小标题下也可以先预先写好部分文章。然后别人在用这些标题的时候,可以直接用那些文章,也可以不要那些文章,而是重写成自己的文章。
    在这里插入图片描述

  5. 抽象类和接口都是用来抽象具体对象的,但是接口的抽象级别最高
    在这里插入图片描述

  6. 抽象类可以有具体的方法和属性
    接口只能有抽象方法和不可变常量
    在这里插入图片描述
    7.抽象类主要用来抽象类别
    接口主要用来抽象功能
    这一点道出本质!!!
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44062380/article/details/107008940