我是 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/