学习 Java 中的数据抽象

已发表: 2021-11-11

数据抽象的概念可以通过一个真实的例子来解释。 让我们考虑一个例子,驾驶车辆的驾驶员知道踩刹车会阻止车辆进一步移动。 所以司机唯一知道的信息是他必须停止他的车辆移动,所以他应用了刹车。 但他不知道刹车时车辆如何停止的基本机制。 所以这个概念可以与数据抽象概念相比较,其中只显示用户需要知道的信息。 底层信息被隐藏起来。 所以,这就是抽象的概念,当它应用在数据中时,称为数据抽象。

面向对象编程提供了利用数据抽象概念的方法。 Java是面向对象编程的一种,遵循数据抽象的特点。 在这些编程语言中,抽象类和接口用于实现数据抽象。

Java中数据抽象的过程是通过类的抽象类来实现的。 除了抽象类之外,接口还用于数据抽象。 关键字“abstract”用作方法和类的非访问修饰符。 当使用关键字访问定义时,类是不允许创建对象的抽象类。 只有从另一个类继承抽象类才可能加入。 抽象方法是那些只能在抽象类中使用的方法。 这些方法没有方法体。

子类通常提供主体。 抽象类可以包含常规和抽象的方法。

目录

抽象类和抽象方法的区别

抽象类和抽象方法的区别在于:

1. 抽象类是那些用关键字abstract 声明的类。

2. 抽象方法是一种在没有实现的情况下被声明的方法。

3. 一个抽象类不需要在其内部拥有所有的抽象方法方法。 它还可以包含非抽象的方法。

4.每当一个方法被定义为抽象方法时,它也应该在子类中重新定义。 这将使覆盖成为强制性并使子类抽象。

5. 如果任何类包含任何抽象方法,无论是一个抽象方法还是多个抽象方法,都应使用关键字abstract 声明为abstract。

6. 抽象类不能包含任何对象。 不能使用 new 运算符来实例化抽象类。

7. 抽象类中总是存在默认构造函数。 此外,参数化构造函数可以存在于抽象类中。

Java 抽象类

Java 编程语言通过抽象类实现抽象。 抽象类可以定义为使用关键字“abstract”声明的类,并带有这些类无法实例化的特殊指令。 这些类可能包含也可能不包含抽象方法。

Java中抽象类的语法如下所示。

以上代码取自https://www.softwaretestinghelp.com/what-is-abstraction-in-java/

在上述语法中,可以观察到抽象和非抽象方法都可以包含在抽象类中。 此外,关键字“abstract”放在类的声明之前。

在此处阅读有关 java 抽象类的更多信息

Java 抽象方法

Java 抽象方法是那些以关键字“abstract”开头的方法,但没有这些方法的实现。 Java 抽象方法在 Java 抽象类中声明。

由于抽象方法,Java抽象类变得不完整,因为方法无法实现。 因此,在抽象类中包含抽象形式自然会使抽象类不完整。

它在子类中的实现可以使用抽象方法。 该子类将继承抽象类并执行抽象方法的实现。 抽象方法的一般语法是

抽象的无效方法名(参数列表);

编写摘要方法时应注意的一些规则

  • 如果一个类包含多个抽象方法,那么该类将成为一个抽象类。
  • 在定义抽象类和方法时,除了“abstract”之外,不应该有任何关键字。

考虑到以上几点,Java中不允许有以下可能性。

  • 最终的
  • 抽象的本地人
  • 抽象静态
  • 抽象私有
  • 抽象同步
  • 抽象严格

Java中的数据抽象示例如下所示。

https://www.javatpoint.com/how-to-achieve-abstraction-in-java

以上代码取自https://www.softwaretestinghelp.com/what-is-abstraction-in-java/

在上面显示的代码中,有一个类 Bank。 Bank 类中有一个抽象方法,即 getInterestRate()。 声明了另外两个类 BOI 和 ICICI,它们继承了类 Bank。 这些声明的类继承了 Bank 类,因此实现了返回利率的 getInterestRate() 方法。

银行的一个对象是在主要方法中创建的。 银行的对象由一个显示利率的 ICICI 类对象组成。 在下一步中,也会创建 BOI 类的对象,它显示利率。

通过接口进行数据抽象

接口类似于 Java 类,唯一的区别是接口中有空方法。 它也可以定义为由抽象方法和静态常量组成的类。 接口中存在的每个方法都是公共的,并且不包含任何构造函数。 该接口用于实现数据抽象,也用于在Java中进行多重继承。

Java中接口的一些特性是:

  • 接口可用于实现完全抽象。
  • 一个类可以使用多个接口,从而导致实现多个接口。
  • 接口允许实现松散耦合。

该接口的语法如下所示:

上述语法来自https://www.javatpoint.com/how-to-achieve-abstraction-in-java

可以通过关键字“implements”使用接口。

抽象类和接口之间的一些区别是:

  • 抽象方法和非抽象方法都可以包含在抽象类中。 而在接口中,只能存在抽象方法。
  • 最终变量可能存在也可能不存在于抽象类中。 在接口中,变量可以是 final 作为默认变量。
  • 类抽象可以具有非最终、最终、非静态或静态的变量。 而在接口中,可能只存在静态和最终变量。
  • 抽象类允许实现接口。 抽象类不能在接口中实现。
  • 抽象类的继承是通过关键字“extends”完成的。 接口的实现是通过关键字“implements”完成的。
  • 抽象类可以实现多个接口,也可以通过抽象类扩展其他类。 而一个接口只能允许实现另一个接口。
  • 除了公共成员之外,受保护的和私有的数据成员都包含在抽象类中。 而接口的成员默认情况下是公共的。

从世界顶级大学在线学习软件课程获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。

结论

本文描述了数据抽象的概念,并列出了如何在 Java 中实现数据抽象。 要获得更多 Java 编程语言的经验,您可以查看 upGrad 提供的软件开发课程 该课程专为在职专业人士而设计,将通过面向行业的项目培训您,以培养所需的编程技能。 更多信息可以通过我们的网站检索。 如需任何信息和帮助,可以联系我们的协助团队。

什么是数据抽象?

数据抽象是一种软件设计概念。 它解决的问题是创建独立于它们操作的数据类型的数据结构和函数。 它将代码与数据类型隔离开来,并允许在多种情况下使用相同的代码。 当数据结构所表示的数据以及可以应用于它们的操作被明确定义时,就实现了数据抽象。 抽象在软件开发中至关重要。 它是导致软件更简单、更小和更可靠的基本力量之一。 数据抽象是高级语言的重要组成部分。

Java中抽象的优点是什么?

Java中如何实现抽象?

java中的抽象是使用接口完成的。 要实现接口,还需要提供实现。 实际上,不需要继承类来实现接口。 接口就像java中的任何其他类一样。 使它们与众不同的是它们只有一种方法。