欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

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

时间:2023-08-07
接口和抽象类的区别

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

深入理解

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

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。