java - 说接口(interface)也是一种类型是什么意思?

标签 java interface polymorphism

我认为这意味着通过多态性的概念,变量的类型可以声明为接口(interface)的类型。例如:如果 Animal 是一个接口(interface),您可以编写以下代码:

Animal simba = new Lion();

我的理解正确吗?感谢您的帮助。

最佳答案

interface 的行为类似于 Java 中的 superclass,因为它可以采用其实现的类型。

在您的示例中,具体而言,您将 Animal 定义为 Lion 实现的 interface

因此,您可以创建类型为LionAnimal。代码如下所示:

interface Animal {
  //do interfacing stuff
}

class Lion implements Animal {
  public Lion() {
    //...
  }
  //do implementing stuff
}

class Driver {
  Animal simba = new Lion(); // This works because of polymorphism.
}

不过,您说这是 polymorphism 的示例是正确的.

关于java - 说接口(interface)也是一种类型是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8528690/

相关文章:

java - Spring Cucumber Serenity 的 Autowiring 步骤

typescript - 如何为现有属性的 TypeScript 接口(interface)添加别名?

c# - 实现 .Net 接口(interface) (C#)

c++ - 从 C++ 中的父类(super class)数组访问子类方法?

使用 isNull 时出现 Java UnfinishedVerificationException

java - 线程池的工作方式不可预测

java - 使用命令行工具列出当前类路径中的可用类

与服务器交互的 Android 应用程序

c++ - 通过迭代基类 vector 调用派生类中实现的方法

C++:具有 STL 类型和自定义类型的优雅 "polymorphism"?