- 抽象类可以存在普通成员函数,而接口只能存在public abstract方法
- 抽象类中的成员变量可以是各种类型的,而接口的成员变量只能是public static final类型的
- 抽象类只能继承一个,而接口可以实现多个
接口的设计目的:是对类的一种行为约束,约束了类中应该由什么行为,也就是提供了一种机制,可以强制要求不同类具有相同的方法,但不对如何实现进行限制。
抽象类设计目的:是代码的复用,当不同的类具有相同的行为的时候,且其中一部分行为实现方法一致,可以让这些类都派生自一个抽象类**(即现有子类后有父类)**,在抽象类中实现方法,可以避免让所有子类来实现这个方法。
场景:当关注一个事务的本质的时候用抽象类,当关注一个操作的时候用接口。
总结:抽象的本质是是什么,接口的本质是能做什么。
接口和抽象类的区别
最新推荐文章于 2022-02-28 00:36:30 发布