java面试题基础篇-07-接口和抽象类的区别

java面试题基础篇-07-接口和抽象类的区别,第1张

java面试题基础篇-07-接口和抽象类的区别
接口和抽象类的区别

抽象类中可以存在普通成员函数,而在接口中的只能存在public abstract方法抽象类的成员变量可以是各种类型的,而在接口中的成员变量只能是public static final类型的抽象类只可以继承一个,而接口可以实现多个。

深入理解

接口的设计目的,是对类的行为进行约束,也就是提供一种机制,可以强制要求不同的类中具有相同的行为,它只约束了行为的有无,但不对如何实现行为做具体的限制。抽象类的设计目的,是代码复用,当不同的类具有相同的行为,而其中一部分行为的实现方式一致时,可以让这些类都派生于一个抽象类。抽象类是对类本质的抽象,是is的关系,就像BMW is CAR,抽象类包含并实现子类的通用特性,将子类存在差异化的特性进行抽象,交给子类来实现。接口是对行为的抽象,是like的关系,就像BIRD like Aircraft,接口的核心是定义行为,即实现类可以做什么,至于实现类主题是谁,是如何实现的,接口并不关心。使用场景:当你关注一个事物的本质的时候,用抽象类;当你关注一个 *** 作的时候,使用接口。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5722215.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存