java 抽象类和接口1–基本概念
https://blog.csdn.net/qq_26296197/article/details/81315685
从生活的角度看
把编程映射会日常生活进行对照,那么一个东西,抽象类表示它是什么,接口表示它能做什么。举一个栗子,一个Person,他有眼睛、肤色,这些描述一个人的特征可以定义在抽象类中,而一个人的行为如打篮球,所以这些可以定义在接口中。
另外一种解释
接口和抽象类都能描述一般性的公有特征。一般来说,强是关系(strong is-a relationship)清晰地描述了父子关系,应该用类模拟,比如苹果是一种水果;而弱是关系(weak is-a relationship)是指对象具有某种属性,适合用接口模拟,比如苹果是可以吃的(苹果可以拿来玩,做肥料,做科学实验…)。
总结
表示一个事情基本功能 用抽象类。 人的鼻子 嘴巴 耳朵。
表示一个扩展功能,用接口。 人 抽烟 喝酒 。