Java 中的抽象是什么,我需要正确理解它吗?

What is Abstraction in Java i need to understand it properly?

我了解抽象的基础知识,但仍有一些不确定性。

  1. 我们无法创建抽象对象 class。
  2. 抽象方法在抽象 class 中声明,但在子 class 中定义。
  3. 然后我们使用子class的obj调用抽象方法。

如果我们可以通过子 class 的对象完成所有事情,我不明白为什么我们使用抽象 classes。我们在 child class 中定义了抽象方法,所以这也意味着我们也在 child class 中声明了它,我们调用了该方法,因此它像正常的 classes 和 child.

一样工作

摘要 classes 的实际用途是什么?

从我从你的问题中可以看出,你将抽象 classes 视为接口,但你可以而且应该以不同的方式使用它们。

在抽象class中可能没有抽象方法,这意味着所有子classes都使用超级class方法的方法,这样可以避免重复代码。

您可以在这里查看说明:https://softwareengineering.stackexchange.com/questions/106601/in-simple-words-what-are-are-the-purposes-of-abstract-classes-and-or-interfaces