抽象类与接口的关系
2016-01-21 13:40
225 查看
抽象类和接口是Java中最重要的概念!
原则:
1、一个类不要去继承一个已经实现好的类,只能继承抽象类或实现接口。
2、如果接口和抽象类都可以使用,要优先使用接口,避免单继承的局限。
区别点 | 抽象类(abstract class) | 接口(interface) |
---|---|---|
定义 | 包含一个抽象方法的类 | 抽象方法和全局常量的结合 |
组成 | 构造方法、抽象方法、普通方法、常量、变量 | 常量、抽象方法 |
使用 | 子类继承抽象类(extends) | 子类实现接口(implements) |
关系 | 抽象类可以实现多个接口 | 接口不能继承抽象类,但允许继承多个接口 |
常见设计模式 | 模板设计 | 工厂设计、代理设计 |
对象 | 都通过对象的多态性产生实例化对象 | 都通过对象的多态性产生实例化对象 |
局限 | 抽象类有单继承的局限 | 接口没有此局限 |
实际 | 作为一个模板 | 作为一个标准或表示一种能力 |
选择 | 如果抽象类和接口都可以使用,优先使用接口,避免单继承的局限 | 如果抽象类和接口都可以使用,优先使用接口,避免单继承的局限 |
特殊 | 一个抽象类可以包含多个接口,一个接口中可以包含多个抽象类 | 一个抽象类可以包含多个接口,一个接口中可以包含多个抽象类 |
1、一个类不要去继承一个已经实现好的类,只能继承抽象类或实现接口。
2、如果接口和抽象类都可以使用,要优先使用接口,避免单继承的局限。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树