文章出自:安卓进阶学习指南
主要贡献者:
读完本文你将了解:
背景介绍
大家好,这篇文章是 《安卓进阶技能树计划》 的第一部分 《Java 基础系列》 的第一篇。
距离上一篇预告 《Java 基础夯实系列上线预告》 过去了很久,之所以这么慢,是因为我们做这个活动,除了要保证知识点的全面、完整,还想要让每一篇文章都有自己的思考,尽可能的将知识点与实践结合,努力让读者读了有所收获。每位小伙伴都有工作在身,每个知识点都需要经过思考、学习、写作、提交、审核、修改、编辑、发布等多个过程,所以整体下来时间就会慢一些,这里先向各位道歉。
《Java 基础系列》初步整理大概有 12 篇,主要内容为。:
- 抽象类和接口
- 内部类
- 修饰符
- 装箱拆箱
- 注解
- 反射
- 泛型
- 异常
- 集合
- IO
- 字符串
- 其他
第一篇我们来聊聊抽象类和接口。
“抽象类和接口”听起来是非常普遍的东西,有些朋友会觉得:这个太基础了吧,有啥好说的,你又来糊弄我。
事实上我在面试中不仅一次被问到相关的问题:
- 抽象类和接口之间的区别?
- 什么时候创建抽象类?什么时候创建接口?
- 设计框架时该如何选择?
我比较喜欢这样的问题,答案可深可浅,体现了我们对日常工作的思考。
我们什么时候会创建一个抽象类?什么时候会创建一个接口呢?当转换一下思维,不仅仅为了完成功能,而是要保证整个项目架构的稳定灵活可扩展性,你会如何选择呢?
这篇文章我们努力回答这些问题,也希望你可以说出你的答案。
什么是抽象类和接口
抽象方法 即使用 abstract
关键字修饰,仅有声明没有方法体的方法。
- 1
抽象类 即包含抽象方法的类。
如果一个类包含一个或者多个抽象方法,该类必须被限定为抽象的。抽象类可以不包含抽象方法。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
接口 是抽象类的一种特殊形式,使用 interface
修饰。