「Android」理解抽象类和接口的区别
abstract class
[public] abstract class ClassName {
}
interface
[public] interface InterfaceName {
}
对比
- 抽象类是对一种事物的抽象,即对类抽象。而接口是对行为的抽象。
- 抽象类作为很多子类的父类,它是一种模板式设计。而接口是一种行为规范。
如何理解
我个人认为:
- 抽象类解决的是【是什么】( is - a) 的问题,是对事物的抽象。
- 接口解决的是【有什么功能】( has - a) 的问题,是对行为的抽象。
例如说,当我们需要实现一个飞机和一只老鹰的时候,那么我们可以设计一个飞行物的抽象类,同时对于飞行物而言我们需要实现飞行这个动作,那么我们可以设计一个飞行的接口。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。