Java 扩展与实现(附示例)

位置:首页>文章>详情   分类: Java教程 > 编程技术   阅读(282)   2023-06-26 07:54:18

在 Java 中,extends 关键字用于扩展类或接口; implements 关键字用于将接口实现到类中。这是扩展实现 之间的主要区别。

请注意,extendsimplements 是 Java 中的保留关键字,不能用作标识符。

1. Java 扩展

在 Java 中,我们可以通过使用 extends 关键字扩展类来继承类的字段和方法。请注意,一个 Java 类只允许扩展一个类。 Java不支持多重继承来避免菱形问题。

public class Child extends Parent {

    //...
}

与接口一起使用时,接口可以使用 extends 关键字扩展另一个接口。

public interface IChild extends IParent {

    //...
}

ArrayList 类为例。它扩展了 AbstractList 类,后者又扩展了 AbstractCollection 类。所以本质上,ArrayList 类具有两个父类的方法和行为。

2. Java实现

在 Java 中,接口是将契约强制执行到类上的方法。接口强制实现类实现某种行为。要实现接口,类必须使用implements 关键字。

public class WorkerThread implements Runnable {

    //...
}

在Java中,我们可以实现不止一种接口。在这种情况下,该类必须实现所有接口的所有方法。 (或声明自己抽象)。

例如,ArrayList 类实现了四个接口,即 ListRandomAccessCloneableSerializable。它已经实现了这些接口的所有方法。

3. extendsimplements 的区别

基于以上示例,让我们列出 extendsimplements 关键字在 Java 中的区别

  • extends 关键字用于继承类或接口,而implements 关键字用于实现接口。
  • 一个类只能扩展一个类,但可以实现任意数量的接口。
  • 扩展超类的子类可以覆盖超类的一些方法。一个类必须实现接口中的所有方法。

快乐学习!!

地址:https://www.cundage.com/article/extends-vs-implements.html

相关阅读

Scala 3, the latest version of the object-oriented, 具有 JVM 和 JavaScript 运行时的函数式语言, is now availab...
在这个 Java 正则表达式单词边界示例 中,我们将学习如何匹配字符串中的特定单词。例如我们将在“java is object oriented language”中匹配“java”。但它不应该...
Java 实例 operator (also called 类型比较运算符) is used to test whether the specified object is an instanc...
在 Java 中,extends 关键字用于扩展类或接口; implements 关键字用于将接口实现到类中。这是扩展 和实现 之间的主要区别。 请注意,extends 和 implements...
直到 Java 1.7,Java 都不支持多重继承。从 Java 8 开始,我们可以通过使用默认方法来实现多重继承的概念,而无需陷入钻石问题。 1.什么是多重继承? 在多重继承中,一个子类可以继...
尽管 javadoc 工具的JDK Tools and Utilities页面通过实现和继承方法描述了 Javadoc 方法注释重用的规则,但是很容易不必要地显式地描述注释继承与 {@inher...
Objective-C 一直是 Apple 平台软件开发的主要工具,在本月的 Tiobe 编程语言流行度指数中下滑,自 2009 年底以来首次跌出前 20 名。 Objective-C 在 Ti...
Java中的继承是指子类继承或获取父类的所有非私有属性和行为的能力。继承是面向对象编程的四大支柱之一,用于提高层次结构中类之间的代码可重用性。 在本教程中,我们将了解 Java 支持的继承类型,...
在 Java 中,我们不能将父类中声明的 private、static 和 final 方法覆盖到子类中。对于private 和final 方法,编译器会报错。但是对于 static 方法,编译...
方法重载和方法覆盖(换句话说,多态性)概念经常在 java 面试中测试。让我们通过易于理解的示例来了解它们的区别。 值得记住的是,方法重载发生在同一个类中,方法覆盖发生在 Child 类扩展 P...