Java中抽象类和接口的区别是什么

目录:

Anonim

主要区别 Java中抽象类和接口之间的区别在于 抽象类用于实现抽象,而接口用于实现抽象和多重继承。

面向对象编程 (OOP) 的一大支柱是抽象。它是隐藏实现细节并仅向用户显示功能的过程。例如,用户无需了解遥控器内部的电路即可对其进行操作。抽象与此类似。它允许程序员专注于对象做什么而不是它是如何完成的。在Java中,有两种实现抽象的方法:使用抽象类和使用接口。此外,继承是 OOP 的另一个支柱。它指的是使用已经存在的类的数据和方法。多重继承是指使用多个类的数据和方法。可以使用接口实现多重继承。

抽象类、接口、多重继承

Java中的抽象类是什么

使用 abstract 关键字声明的类称为抽象类。抽象类可以有抽象方法和非抽象方法。类可以扩展抽象类并实现抽象类的抽象方法。不能从抽象类创建对象,但可以从扩展抽象类的类创建对象。请参考以下示例。

图 1:形状抽象类

图 2:矩形类

图 3:程序 1 的主类

Shape 是一个抽象类。它具有抽象方法绘制和非抽象方法显示。 Rectangle 类扩展了 Shape。因此,Rectangle 类实现了抽象方法 draw。在主函数中,创建了一个 Rectangle 对象。 obj.draw() 将调用 Rectangle draw() 中的方法并打印“Rectangle”。

Java中的接口是什么

Java 中的接口类似于类。接口中的所有方法都是抽象方法。与抽象类类似,接口不能被实例化。接口可用于抽象以及多重继承的实现。接口是使用 interface 关键字声明的。实现接口的类应该实现接口中声明的所有方法。请参阅下面的示例,该示例说明了使用接口来实现抽象。

图 4:形状界面

图 5:Circle 类

图 6:程序 2 的主类

Shape 是一个接口,它有一个叫做 draw 的抽象方法。 Circle 类扩展了 Shape。因此,Circle 类实现了抽象方法 draw。在主函数中,创建了一个 Circle 对象。 s.draw() 将调用 Circle 中的 draw 方法并打印“Circle”。

接口也可用于实现多重继承。

图 7:接口 A

图 8:接口 B

图 9:C 类

图 10:程序 3 的主类

接口 A 和 B 都有抽象方法显示。 C 类实现了接口 A 和 B。C 类提供了方法显示的实现。在main方法中,创建了一个C的对象。 obj.display 将调用 C 中的 display 方法并打印“Hello World!”。

Java中抽象类和接口的区别

定义

抽象类是用abstract关键字声明的类,它是抽象方法和非抽象方法的集合。相比之下,Java 中的接口是一种引用类型,类似于抽象方法集合的类。这是 Java 中抽象类和接口之间的基本区别。

变量

所使用的变量是 Java 中抽象类和接口的区别之一。虽然抽象类可以有 final、非 final、静态和非静态变量,但接口只能有静态和 final 变量。

方法

Java中抽象类和接口的另一个区别是抽象类可以有抽象方法和非抽象方法,而接口只能有抽象方法。

多重继承

班级关键词

此外,abstract 关键字用于声明抽象类,而 interface 关键字用于声明接口。

扩展和实施

此外,抽象类可以使用关键字“extends”进行扩展。接口类可以使用关键字“implements”来实现。

执行

此外,抽象类可以使用关键字“implements”来实现,而接口用于实现抽象和多重继承。

结论

java中抽象类和接口的区别在于抽象类用于实现抽象,接口用于实现抽象和多重继承。

参考:

1. “Java 中的抽象类——Javatpoint”。 Www.javatpoint.com,可在此处获得。2。 “Java 接口——Javatpoint。” www.javatpoint.com,可在此处获得。

Java中抽象类和接口的区别是什么