【问题标题】:What is Abstraction in Java i need to understand it properly? [duplicate]我需要正确理解 Java 中的抽象是什么? [复制]
【发布时间】:2021-11-28 21:13:12
【问题描述】:

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

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

如果我们可以通过子类的对象来做所有事情,我不明白为什么要使用抽象类。我们在子类中定义了抽象方法,这也意味着我们也在子类中声明了它,并且我们调用了该方法,使其像普通类和子类一样工作。

抽象类的实际用途是什么?

【问题讨论】:

  • 看看List。或Map.
  • 如果您发现自己创建了一个只有抽象方法且没有状态的抽象类,请考虑将其改为接口。

标签: java class oop abstract-class abstraction


【解决方案1】:

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

抽象类中不能有抽象方法,即所有子类都使用超类方法的方法,这样可以避免重复代码。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-12
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2020-03-05
    • 2012-12-20
    相关资源
    最近更新 更多