Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当抽象类没有';不包含任何抽象方法_Java - Fatal编程技术网

Java 当抽象类没有';不包含任何抽象方法

Java 当抽象类没有';不包含任何抽象方法,java,Java,当抽象类不包含任何抽象方法时,我仍然感到困惑,它的目的是什么?如果不包含任何抽象方法,为什么不使用常规类而不是抽象类?事实上,我看到这种情况适用于java和libgdx库,或者可能适用于每个库。 所以,因为这种情况,我想知道为什么使用抽象类而不使用抽象方法而不是常规类是非常重要的 当您创建一个类抽象(有或没有抽象方法)时,您强制该类的用户创建它的具体子类,因为他们不能实例化它。一个抽象类的用户必须创建一个具体的派生类 这可能很有用,因为它允许抽象类的作者在以后引入抽象函数。此时所需的重构量大大减

当抽象类不包含任何抽象方法时,我仍然感到困惑,它的目的是什么?如果不包含任何抽象方法,为什么不使用常规类而不是抽象类?事实上,我看到这种情况适用于java和libgdx库,或者可能适用于每个库。
所以,因为这种情况,我想知道为什么使用抽象类而不使用抽象方法而不是常规类是非常重要的

当您创建一个类
抽象
(有或没有抽象方法)时,您强制该类的用户创建它的具体子类,因为他们不能实例化它。

一个
抽象
类的用户必须创建一个具体的派生类


这可能很有用,因为它允许
抽象类的作者在以后引入抽象函数。此时所需的重构量大大减少。

这是显而易见的。问题是:你为什么要这么做?您的
抽象类
已经实现了所有方法。当然,用户在扩展
抽象类
时可能会覆盖它们,但是为什么要拒绝她/他实例化您的
抽象类
?你能想出一个好的用例吗?简单地说,可伸缩性。@Bathsheba这是对我的评论的回应吗?如果是这样的话,你介意详细说明一下吗?唯一可能的答案是“基类有东西可以提供给它的所有孩子”。派生类可以自由地拥有自己的实现,但基本实现仍然可以满足“某些”目的。