gpt4 book ai didi

java - Java 中的接口(interface)如何工作?

转载 作者:行者123 更新时间:2023-12-02 12:25:31 25 4
gpt4 key购买 nike

我正在自学 Java,但我被困在有关接口(interface)的一章中。我根本无法理解它们在 Java 中是如何工作的。

我相信我完全理解界面的含义以及它们如何应用于日常情况和技术。

但是当涉及到 Java 时,无论是代码方面还是逻辑方面,我都陷入了困境。我不明白。这个概念是如何运作的?

假设我有 3 个对象和 1 个接口(interface)对象。 2 个对象是 ObjectCalculatedA、ObjectCalculatedB、ObjectMathFunctions 和 ObjectInterface。

据说在ObjectInterface中必须有某种对ObjectMathFunctions的引用,以便ObjectCalculatedA和B可以只访问ObjectMathFunctions中的数学函数,而无需在A和B中再次将它们全部写入。

我说得对吗?

最佳答案

存在一个接口(interface)是为了方便 polymorphism 。它允许声明任何实现接口(interface)的类都必须遵守的契约。因此,它是一种通过寻找事物之间的共性来实现抽象和模型复杂性的方法。

举个例子?形状怎么样?所有形状都有面积,对吗?所以你可以有以下类(class):

  • 正方形
  • 圆圈

然后假设您有另一个允许您收集形状并返回总面积的类:

for (Shape shape in shapes)
{
area += shape.area() //This is polymorphism
}

在上面的例子中,我们并不关心形状是正方形还是圆形。我们都可以接受。我们只关心它实现了Shape接口(interface)。每个对象都将提供自己的区域自定义实现 - 这些内部细节并不重要,重要的是它遵守区域契约。现在看看我们如何管理复杂性?我们可以使用该类,而不必担心内部发生的所有事情。此时,它的作用对我们来说很重要,而不是它如何做,这让我们专注于手头的问题 不要被复杂的细节分散注意力。

这种多态性是面向对象编程被认为是编程中如此强大的进化步骤的原因之一。面向对象编程中的其他关键基础概念是:

。 。 。你还需要学习这些。

抽象基类与接口(interface)

正如评论所说,实现多态性的另一种方法是使用抽象基类。你应该选择哪个?

  • 使用实现它的接口(interface)类将具有自己的层次结构和依赖关系。例如媒体播放器。电影播放器​​和声音播放器可能具有完全不同的基类,因此请使用接口(interface)。

  • 当事物之间存在一些共性但具体情况有所不同时,请使用抽象基类。例如消息解析框架。

关于java - Java 中的接口(interface)如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21281203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com