java - 子类是否继承接口(interface)?

标签 java polymorphism

快速提问,我正在学习接口(interface)和继承。

这不是实际代码,只是一个示例。假设我有抽象类 Animal。 像马和犬类这样的群体有一些遗传。还有一个界面“宠物”。它将用于 Animal 的不同子类。犬类“Dog”的子类实现了“Pets”接口(interface)。因此“Dog”的所有子类也都实现了“Pet”接口(interface),而不必在“Dog”的每个子类上单独实现“Pets”,对吧?

最佳答案

如果你有:

abstract class StaffMember implements MyInterface

在哪里

interface MyInterface {
    void myMethod();
} 

那么所有扩展 StaffMember 的类都将继承 MyInterface 类型,并且您将能够在 MyInterface 实例作为操作数/参数的代码的其他部分中通过此基类型引用它们,例如:

void otherMethod(MyInterface param) { //... }

接口(interface) MyInterface 的实际实现可以在抽象类中进行,也可以在任何扩展抽象类的类中进行。重要的是,在这种情况下,myMethod() 是在继承层次结构中的某个位置指定的,以便 JVM 可以找到它的定义来调用。

关于java - 子类是否继承接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20534726/

相关文章:

java - 类构造函数中的堆栈溢出错误

php - 在不触及核心的情况下修改 Opencart 中的 Controller ?

polymorphism - Python 多态性。你如何覆盖方法中的函数

c# - 如何在 C# 中以更通用的方式编写这些方法?

java - 当您拥有系统不信任的 CA 时,如何将 Android 应用程序连接到 SSL 服务器?

java - 如何在spring中接收动态生成的输入值作为bean

java - 如何使用 JTextArea 设置 JScrollPane 背景透明和 JScrollBarr 可见?

java - 如何在java中正确格式化或合并两个直方图?

hibernate - hql 子类属性

c++ - 在 C++ 中可以完全避免使用模板吗?