java - 什么时候需要使用抽象类?

标签 java oop subclass abstract

我是 Java 的新手,还不需要使用抽象类。我的理解是:

  • 不能实例化抽象类
  • 抽象类通常有抽象方法
  • 它的目的只是为了其他类的扩展

我还了解到,当您想创建组件的新版本时,可以使用抽象类。这是如何工作的?

在什么类型的(特定)情况下使用抽象类会有好处?

另外,我了解到您可以使用它们来“部分实现您的类”。这到底是什么意思?

我的最后一个问题是,扩展常规类(class)能否达到类似的效果?

最佳答案

In what type of (specific) situation would it be beneficial to use abstract classes?

当您想在基类中提供一些预定义的方法而不允许用户实例化基类时,您会想使用抽象类,因为只有定义其余行为的更具体的子类才是足够好的类单独使用。

Also, I have read that you can use them to "partially implement your class." What exactly does this mean?

这意味着如果你只想声明方法(将它们标记为抽象),子类必须在其中定义它们,同时还能够在抽象类中定义所有子类也可以使用的方法。

And my final question is, could extending a regular class achieve similar results?

仅当基类的对象本身可用时。

关于java - 什么时候需要使用抽象类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25028816/

相关文章:

java - Z3 Java : simplify a distributive expression

java - 将 Spring XML 配置转换为 Java 配置

java - 用作接口(interface)替代的内部类示例

design-patterns - 菱形继承(钻石问题)真的能解决吗?

swift - UIView 子类在初始化时固定高度

Java错误和初始化: java_lang_NullPointerException

matlab - 我如何从 Matlab 中的父类(super class)继承文档?

python:如何覆盖str.join?

android - 如何使用 Intent 从第三个 Activity 返回到第二个 Activity

java - 如何在 Maven pom.xml 中定义属性并从命令行传递参数?