美文网首页
抽象类和接口的区别

抽象类和接口的区别

作者: Joseph_L | 来源:发表于2018-02-28 17:49 被阅读38次

抽象类 - 单继承

  • 关键字为abstract, extends, 被类所继承
  • 不可以被final修饰
  • 抽象方法不可以被private修饰,但其他三个不受限制
  • 抽象方法一定存在于抽象类中,但是抽象类中不一定有抽象方法
  • 抽象类的子类必须全部重写抽象方法,如果只重写部分抽象方法,则该子类同样为抽象方法
  • 抽象类中不一定全部都是抽象方法,方法可以有方法体
  • 抽象类不可以实例化对象
  • 抽象类可以实现接口,因为接口的内容也都是抽象的

接口 - 多实现

  • 关键字为interface, implements, 被类所实现
  • 同样不可以被final修饰
  • 接口只允许三种成员存在:
    1. 公共的静态常量 public final static
    2. 公共的抽象方法 public abstract
    3. 静态内部类 static class
  • 由上可知,接口的作用域必须为public
  • 接口的抽象方法也必须全部被实现类所重写,否则实现类为抽象类
  • 不同的接口之间为继承关系,而且可以多继承
  • 接口不可以实例化对象
  • 接口不可以继承抽象类,因为抽象类中有可能存在非抽象方法,与接口的概念相悖

二者区别

  • 每个类只能继承一个抽象类,但是可以实现多个接口
  • 抽象类可以有非抽象方法,接口全部为抽象方法
  • 从作用域角度看,抽象类中抽象方法不能为private,而接口强制为public abstract
  • 抽象类可以实现接口,但是接口不能继承抽象类
  • 不同的接口可以多继承,但是不同的抽象类只能单继承

以上。

相关文章

  • 5.5-全栈Java笔记:接口的定义和使用

    接口interface 接口的作用 为什么需要接口?接口和抽象类的区别? 接口就是比“抽象类”还“抽象”的“抽象类...

  • 接口和抽象类

    接口和抽象类的区别? 接口(interface)和抽象类(abstract class)是支持抽象类定义的两种机制...

  • 抽象类和接口的区别

    以下两篇文章介绍了接口和抽象类的概念接口概念抽象类概念 抽象类和接口的区别: 抽象类:需要使用abstract关键...

  • 接口和抽象类的区别

    接口和抽象类有什么区别 你选择使用接口和抽象类的依据是什么? 接口和抽象类的概念不一样。接口是对动作的抽象,抽象类...

  • Java基础 (7) 抽象类和接口

    抽象特性的具体体现方式。1)抽象类区别和接口的区别2)抽象类的意义3)抽象类与接口的应用场景4)抽象类是否可以没有...

  • Java--接口和抽象类

    ·为什么需要接口?接口和抽象类的区别?  接口就是比“抽象类”还“抽象”的“抽象类”,可以更加规范的对子类进行约束...

  • 浅谈抽象类和接口的区别

    最近我看了一些接口和抽象类的区别,在这里我将我的所总结的内容分享给大家。 抽象类和接口的区别 1.抽象类使用abs...

  • Java 接口知识点

    接口的特性 函数式接口 抽象类和接口区别 Lambda表达式 java常用接口

  • Kotlin 零基础学习 接口和抽象类

    接口:接口就是暴露一种物体与另外一种物体沟通的方法 抽象类 接口 这么看接口和抽象类没什么区别,抽象类能干的接口也...

  • 抽象类和接口区别

    区别 接口 抽象类

网友评论

      本文标题:抽象类和接口的区别

      本文链接:https://www.haomeiwen.com/subject/bylixftx.html