为什么你需要知道抽象类的方法是否是抽象的

时间:2011-05-13 09:25:29

标签: java abstract-class abstract-methods

我被问到一个问题。它是以下内容:

  

抽象类的API文档会告诉您是否有方法   是抽象的。你何时以及为什么需要知道这个?

任何帮助都将不胜感激。

4 个答案:

答案 0 :(得分:9)

您需要知道哪些方法是抽象的,因为在继承类时需要为这些方法提供实现。

答案 1 :(得分:2)

作为Fredrik答案的扩展,它还指定了要更改的行为。

您通常可以覆盖一个方法(如果该方法不是最终的,并且该类不是最终的),但实际上,如果该类不是专门为变更设计的,那么这可能非常棘手。可能是现有方法假设您覆盖的方法的某种行为,未指定(它发生)并且您没有提供。

通过明确声明一个方法是抽象的,你表达了该方法将由其他人实现的意图。它通常也意味着抽象方法的文档在预期行为方面更为完整。

答案 2 :(得分:0)

如果你调用抽象方法,你需要考虑实际的实现在其他地方,并且行为可能有一些变化。

答案 3 :(得分:0)

你知道这个方法是否是抽象的,因为在这种情况下你必须在你的具体(继承)类中实现它。

我建议你看一下关于设计模式的以下书籍,因为他们提到这些东西并且也有实践:

http://oreilly.com/catalog/9780596007126