抽象类和接口之间的区别

作者: Laura McKinney
创建日期: 3 四月 2021
更新日期: 2 七月 2024
Anonim
09 19 面向对象抽象类和接口的区别 rec
视频: 09 19 面向对象抽象类和接口的区别 rec

内容

主要区别

抽象类和接口之间的主要区别在于Java接口的过程本质上是抽象的,不能具有应用程序。概括地说,接口实际上是一个契约,当我们谈论接口时,它适用于方法没有主体的情况,它只是一种模式。虽然抽象类基本上是使用成本很高的类。抽象类和接口是一个完全不同的概念,这是两个不同的事物,但是有时它们的实现非常相似。


什么是抽象类?

程序员没有完全隐含一个抽象类。抽象类可以具有一个或多个抽象方法。它们对于对类分组或排序进行建模很有用,并且在进行分组或排序时,程序员在看完需求后才知道必须构建什么。无法完全依赖抽象类,因为它缺少某些部分。该参数背后的要点是,尽管抽象类具有方法标题但没有主体,但它严格地是面向对象的。当我们谈论抽象类时,两个类之间有很强的联系,因为这些类倾向于相互获取或继承。

什么是接口?

相反,当我们谈论接口时,则接口本身与类之间的关系或通信暗示该接口不像抽象类中那样牢固。 Java类可以实现许多接口,但可以从单个抽象类继承。因此,这意味着当您想一次隐含许多交互时,接口就是您的事。除此以外,即使您不希望API暂时更改,接口也是最适合您的选择。接口实际上是两个不同对象之间的契约。简而言之,界面围绕功能展开。

关键差异

  1. 抽象类是面向对象的,而接口是面向函数的。
  2. 如果希望API保持一段时间不变,则可以选择接口而不是抽象类。
  3. 通过暗示多个接口可以获得多重继承。在抽象类中,您不能获得多个继承。
  4. 如果您希望将来有一种感觉,则需要在工作中添加方法,那么就选择了抽象类,而不是接口。
  5. 抽象类提供了一个通用的基类应用程序,但是在接口中却没有发生这种情况。
  6. 在接口中,您实现的所有方法都是公共的,但在抽象类中,您也可以应用一些非公共的方法。
  7. 构造函数不在接口中,但确实在抽象类中发生。
  8. 抽象类的完整成员可以是静态的,但不能是接口的。

吃水与风-有什么区别?

John Stephens

七月 2024

风 风是大规模的气体流动。在地球表面,风由空气的大量运动组成。在外层空间,太阳风是来自太阳的气体或带电粒子在太空​​中的运动,而行星风是将轻化学元素从行星大气中释放到太空中的气体。通常根据风的空间规模,风速,引起风的力的类型,风的产生区域以及风的作用来对风进行分类。太阳系中行星上观测到的最强风发生在海王星和土星上。风有很多方面,重要的是风速(风速)。另一个涉及的气体密度;另一个是其能量含量或风...

标签与标签-有什么区别?

John Stephens

七月 2024

标签和标签之间的主要区别在于 标签是粘贴在容器或产品上的纸,塑料膜,布,金属或其他材料的一部分,上面写有或注明了信息 和 标签是常见的拼写错误。 标签 标签(与标牌不同)是贴在容器或产品上的纸,塑料膜,布,金属或其他材料,上面写有关于产品或物品的信息或符号。直接在容器或物品上得到的信息也可以视为标签。标签具有多种用途,包括提供有关产品来源,制造商(例如品牌名称),用途,保质期和处置的信息,其中...

有趣的出版物