Java 具体类、抽象类、最终类、接口之间的区别

原文:https://www.studytonight.com/java/different-classes-and-interface.php

类、接口、抽象类、最终类是 Java 语言的重要组成部分。在讨论它们之间的差异之前,让我们先来简单介绍一下所有这些。这样我们就能知道这些术语指的是什么。

混凝土类

一个实现了所有方法的类,如果没有主体就没有方法,称为具体类。

换句话说,一个只包含非抽象方法的类将被称为具体类。

抽象类

使用抽象关键字声明为抽象的类称为抽象类。抽象包含抽象方法并用于实现抽象,这是 OOP 编程的一个重要特征。无法实例化抽象类。

更多细节,可以参考我们的详细教程。点击此处

连接

接口是一个类的蓝图,用于在 Java 中实现抽象。接口包含抽象方法和默认的私有方法。我们无法创建接口的对象。接口可以用来实现 Java 中的多重继承。

更多细节,可以参考我们的详细教程。点击此处

期末班

Final 类是一个类,它是使用 final 关键字声明的。Final 类用于防止继承,因为我们不能继承 final 类。我们可以创建它的对象,也可以创建静态和非静态方法。

更多细节,可以参考我们的详细教程。点击此处

在这个表中,我们根据一些属性来区分类、抽象类、接口等,如:访问修饰符、静态、非静态等。

| | 混凝土类 | 抽象类 | 期末班 | 连接 | | 施工方 | 是 | 是 | 是 | 不 | | 非静态(方法) | 是 | 是 | 是 | 是 | | 非静态(可变) | 是 | 是 | 是 | 不 | | 访问修饰符(默认) | 默认 | 默认 | 默认 | 公众 | | 对象声明 | 是 | 是 | 是 | 是 | | 实例化 | 是 | 不 | 是 | 不 | | 关系 | 两者都有 | 信息系统 | 聚合 | 信息系统 | | 最终声明 | 可能是,也可能不是 | 可能是,也可能不是 | 可能是,也可能不是 | 仅最终 | | 抽象声明 | 不 | 可能是,也可能不是 | 不 | 完全抽象的 | | 继承关键字 | 延伸 | 延伸 | 没有继承权 | 工具 | | 过载 | 是 | 是 | 是 | 是 | | 覆盖 | 不 | 不 | 不 | 不 | | 超级关键字 | 是 | 是 | 是 | 不 | | this关键字 | 是 | 是 | 是 | 是 | | 字节码 | 。班级 | 。班级 | 。班级 | 。班级 | | 匿名类 | 不 | 是 | 不 | 是 | | 用于申报的关键字 | 没有关键字 | 抽象关键字 | final关键字 | 接口关键字 | | 继承 | 单一的 | 单一的 | 没有继承权 | 多重 | | 静态变量 | 是 | 是 | 是 | 是 |