所有集合都实现了接口Collection,这些集合具有特定的抽象层次结构,例如
但是也有相应的接口,如Collection、List、Set。这些接口对我来说似乎有点多余。
它们为什么存在?只是惯例还是有理由只实现接口而不扩展抽象类。
所有集合都实现了接口Collection,这些集合具有特定的抽象层次结构,例如
但是也有相应的接口,如Collection、List、Set。这些接口对我来说似乎有点多余。
它们为什么存在?只是惯例还是有理由只实现接口而不扩展抽象类。
Cat extends Animal implements RunningAnimal, ClimbingAnimal -- inherits move() has to implement run() and climbTree()
Dog extends Animal implements RunningAnimal -- inherits move(), has to implement run()
Snake extends Animal -- likely overrides inherited move()
Shark extends Animal implements SwimmingAnimal -- likely overrides move(), has to implement swim()
接口是用户和实现者之间达成的一种契约。抽象基类旨在作为一个通用基础类来访问一些行为类似的对象。