Java中抽象和多态性的优点
这个问题在这里已经有了答案:
简单地说:接口是一个契约,抽象类是骨架的实现。 (另外,在Java接口中大多使用,因为不可能扩展多个类。)
合同说什么,实施如何说。
接口的例子: java.util.List
。 它具有任何列表应具有的所有方法: add()
, size()
, indexOf()
等。
抽象类的示例: java.util.AbstractList
。 虽然它有很多抽象方法,但是在那里实现了一些不依赖于方式元素的List
方法( addAll()
, equals()
, toString()
等)。 为了创建完整的实现,并不是所有的List
方法都应该被实现,从而使实现者的工作更容易。
上一篇: Advantages of Abstraction and Polymorphism in Java
下一篇: What are the advantages of interfaces and abstract classes?