我可以通过将所有抽象方法放在抽象类中来使抽象类等效于接口。为什么Java的设计者选择提供对接口和单继承的支持,而不是多继承和抽象类。有什么好处?
答案 0 :(得分:4)
至少有一个原因(除了两者之间的概念差异):你可以实现多个接口,但你最多只能从一个抽象类继承。
答案 1 :(得分:0)
Java不支持基于类的多重继承。您只能从单个类继承,但可以实现多个接口。
当你需要在具有不同继承树时多态地处理多个类时,这会变得很方便。
答案 2 :(得分:0)
接口是类与其行为之间的契约。如果一个类实现了一个接口,它必须为接口中指定的方法提供实现。然而,有很多事情可以区分这两者。
查看Oracle网站,了解有关接口和抽象类之间差异的更多信息:
http://download.oracle.com/javase/tutorial/java/IandI/abstract.html
答案 3 :(得分:0)
如果你有多个类,并且你想强迫它们之间应该有一些共同的方法,不论它们的行为(实现)如何,接口都会为你做这个
接口,就像一个契约,实现它的每个其他类都必须遵循