java - 为什么我们使用Interface来定义方法并在Concrete Class中实现和定义它的主体?

标签 java inheritance interface

让我用一个例子来澄清我的问题。假设我有一个 interface I,其中定义了 abc() 方法。我还有另外两个类,即 AB ,它们实现 I 并覆盖 abc() 方法。

现在我的问题是为什么我们用户界面只是为了定义方法而不是直接在类中实现而不定义和实现接口(interface)?就像...

interface I{
    public void abc();
}
class A implements I{
  @Override
  public void abc() { ... }
}
class B implements I{
  @Override
  public void abc() { ... }
}

而不是

class A {
  public void abc() { ... }
}
class B {
  public void abc() { ... }
}


用小例子进行解释会非常有帮助。谢谢。

最佳答案

如果您愿意的话,您可以,但是您不能以同样的方式对待AB。获取 AB 类型的对象并将它们混合在一起,同时仍然能够调用 abc() 方法,没有共同点.

关于java - 为什么我们使用Interface来定义方法并在Concrete Class中实现和定义它的主体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18456799/

相关文章:

java - 按元素对两个数组求和,携带 1 时出现问题

python元类继承问题

c++ - C++ 应用程序和 Web 服务器接口(interface)之间交换数据的最常见方式

java - 在 Java 中使用 Action 监听器的最有效方法?

java - 防止其他 Android 应用程序了解我的应用程序的标志状态(getRunningServices)

java - SQLite 数据库未更新

c++ - 复制 C++ 抽象类

objective-c - Cocoa/Objective-C 类中的一致性与继承

java - 访问泛型类型的静态字段

php - 如何创建一个单独的类来在表中创建新记录并通过 Controller 上的接口(interface)或外观调用它