java小白的学习记录......
1、对于抽象类和接口的介绍,参照博文:
抽象类:[java][21]
接口 :[java][25]和[java][26]
2、抽象类 和 接口 的比较
1)相同点
代表系统的抽象层都不能被实例化
都能包含抽象方法
用于描述系统提供的服务,不必提供具体实现
2)不同点在抽象类中可以为部分方法提供默认实现,而接口中只能包含抽象方法
抽象类便于复用,接口便于代码维护
[我对于此句话的理解(浅层,不知对否):
1)抽象类便于复用-- 抽象类中有 抽象方法(必须被子类重写)和一般方法(不必被子类重写);那么,增加一个相似的组件时 让子类继承自父类,只需对抽象方法进行重写,相同属性和方法就直接继承了。
2)接口便于代码维护--接口只是一种能力,接口中全是抽象方法;子类使用接口,必须重写接口中的所有方法。]
3)可以参考百度知道链接:java中抽象类更利于代码的维护和重用
https://zhidao.baidu.com/question/199723919478667925.html
一个类只能继承一个直接的父类,但可以实现多个接口
3、使用原则
接口做系统与外界交互的窗口
接口提供服务
接口本身一旦制定,就不允许随意修改
抽象类可完成部分功能实现,还有部分功能可作为系统的扩展点