拉丁的传说
很多初学者在理解接口和抽象类的区别的时候总是会混淆不清两者之间的区别,本人当然也是,于是乎,看着网上的教程说接口好,于是,滥用接口就开始了,完全抛弃抽象类的存在其实不用一味的去理解他们之间的区别,他们之间有什么区别? 非要深入知道么,只要回答一个类可以实现多个接口却只能继承一个抽象类就可以了,没任何意义,本人觉得问这个问题的人就存在问题,应该这么问:接口用在哪里,抽象类又用在哪里,这样就比较好理解了1.抽象类是一组具有同一类型的实体类的共有部分的提取2.接口不关心实现它的实体类是否是同一类型,一只鸟和一架飞机都可以实现飞的接口,虽然它们八不着边3.如果同一类型具有同一行为,那么应该考虑抽象类,如果不同类型具有同一行为,那么应该考虑接口4.设计一个接口不应该偏向某一类型,否则会造成实现这个接口的其他类型必须实现不必要的方法5.如果接口和抽象类存在冲突,应该首先考虑接口,也就是说把飞的方法放到接口里而不是抽象类里