为什么需要在抽象方法前添加抽象关键字

时间:2015-04-30 12:28:29

标签: java oop abstract-class abstract

这可能是一个无用的问题,只是出于好奇。

当我们不需要添加时,为什么我们被迫在abstract的{​​{1}}前添加关键字abstract method abstract class

的关键字

可能的答案可能是:
 作为一个抽象类可能是具体和抽象方法的混合, 'abstract'关键字用于标识哪些方法是抽象的 的
当我们没有给任何方法提供任何方法,并在声明结束时使用interface时,如果它被自动视为抽象方法会出现什么问题呢?

4 个答案:

答案 0 :(得分:4)

并非抽象类中的所有方法都需要是抽象的。实际上,你可以拥有一个没有任何抽象方法的抽象类。

另一方面,interface中定义的所有方法都隐式public abstract,因此您可以删除限定符。

答案 1 :(得分:4)

  

为什么我们被迫在抽象类的抽象方法前添加关键字abstract,当我们不需要在接口的情况下添加关键字时。

在接口中,所有方法定义都隐式abstract。但是,您可以提供关键字,但不会有任何区别。

abstract个类中,当您想要将方法表示为abstract时,您需要输入abstract关键字。这实际上使代码更易读,易于理解。

答案 2 :(得分:1)

你明确地提到它,以便扩展该类的任何人都知道他应该强制实施这些方法,如果他不需要,就不用担心没有abstract关键字的方法。

答案 3 :(得分:0)

两个答案

  1. 这就是语言的设计方式
  2. 抽象方法应在子类中重写,这意味着某些VM在看到抽象关键字时可以进行各种优化
  3. 顺便说一下。在java 4中,接口中实际上是抽象关键字。现在它被认为是过时的