Java 中继承和接口的区别
Java 是目前最流行、应用最广泛的编程语言之一。多年来,Java 一直是最流行的编程语言之一。Java 是面向对象。但是,它不被认为是纯面向对象的,因为它支持原始数据类型(如 int、char 等)。在本文中,我们将了解 java 中最重要的两个概念继承和接口之间的区别。
界面: 界面是类的蓝图。它们指定一个类必须做什么,而不是如何做。像类一样,接口可以有方法和变量,但是在接口中声明的方法默认是抽象的(即它们只包含方法签名,而不包含方法的主体)。接口用于实现完整的抽象。
继承: 这是 java 中的一种机制,通过这种机制,一个类可以继承另一个类的特性。java 中有多种可能的继承。它们是:
-
Single Inheritance: In single inheritance, subclasses inherit the features of one superclass. In the image below, class A serves as a base class for the derived class B.
-
Multilevel Inheritance: In Multilevel Inheritance, a derived class will be inheriting a base class and as well as the derived class also act as the base class to other class. In the below image, class A serves as a base class for the derived class B, which in turn serves as a base class for the derived class C. In Java, a class cannot directly access the grandparent’s members.
-
Hierarchical Inheritance: In Hierarchical Inheritance, one class serves as a superclass (base class) for more than one subclass. In the below image, class A serves as a base class for the derived class B, C and D.
下表描述了继承和接口之间的区别:
种类 | 遗产 | 连接 |
---|---|---|
描述 | 继承是 java 中允许一个类继承另一个类的特性的机制。 | 接口是类的蓝图。它指定一个类必须做什么,而不是如何做。像类一样,接口可以有方法和变量,但是接口中声明的方法默认是抽象的(只有方法签名,没有主体)。 |
使用 | 它用于获取另一个类的特征。 | 它用于提供全面的抽象。 |
句法 | class subclass_name 扩展了 superclass_name { | |
} | 界面 { | |
} | ||
继承数量 | 它用于提供 4 种类型的继承。(多级、简单、混合和分层继承) | 它用于提供 1 种类型的继承(多重)。 |
关键词 | 它使用 extends 关键字。 | 它使用 implements 关键字。 |
遗产 | 如果我们使用继承,我们可以继承比接口更少的类。 | 如果我们使用接口,我们可以继承比继承多得多的类。 |
方法定义 | 在继承的情况下,可以在类中定义方法。 | 在接口的情况下,不能在类中定义方法(除非使用静态和默认关键字)。 |
过载 | 如果我们试着扩展很多课程,它会覆盖整个系统。 | 不管我们实现多少类,系统都不会过载。 |
提供的功能 | 它不提供松耦合的功能 | 它提供了松耦合的功能。 |
多重继承 | 我们不能进行多重继承(导致编译时错误)。 | 我们可以使用接口进行多重继承。 |
版权属于:月萌API www.moonapi.com,转载请注明出处