这可能是一个无用的问题,只是出于好奇。
当我们不需要添加时,为什么我们被迫在abstract
的{{1}}前添加关键字abstract method
abstract class
?
可能的答案可能是:
作为一个抽象类可能是具体和抽象方法的混合,
'abstract'关键字用于标识哪些方法是抽象的
的但
当我们没有给任何方法提供任何方法,并在声明结束时使用interface
时,如果它被自动视为抽象方法会出现什么问题呢?
答案 0 :(得分:4)
并非抽象类中的所有方法都需要是抽象的。实际上,你可以拥有一个没有任何抽象方法的抽象类。
另一方面,interface
中定义的所有方法都隐式public abstract
,因此您可以删除限定符。
答案 1 :(得分:4)
为什么我们被迫在抽象类的抽象方法前添加关键字abstract,当我们不需要在接口的情况下添加关键字时。
在接口中,所有方法定义都隐式abstract
。但是,您可以提供关键字,但不会有任何区别。
在abstract
个类中,当您想要将方法表示为abstract
时,您需要输入abstract
关键字。这实际上使代码更易读,易于理解。
答案 2 :(得分:1)
你明确地提到它,以便扩展该类的任何人都知道他应该强制实施这些方法,如果他不需要,就不用担心没有abstract关键字的方法。
答案 3 :(得分:0)
两个答案
顺便说一下。在java 4中,接口中实际上是抽象关键字。现在它被认为是过时的