抽象类和接口的区别

本文详细解析了抽象类和接口在成员、关系及设计理念上的区别。抽象类支持变量、构造方法和抽象或非抽象方法,而接口仅允许常量和抽象方法(JDK1.8后可有默认方法)。类可单继承抽象类,多实现接口;接口间可多继承。抽象类体现'isa'关系,接口体现'likea'关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

抽象类和接口的区别

1. 成员区别
抽象类:
成员变量:可以是变量,也可以是常量。
构造方法:有。
成员方法:可以是抽象,也可以是非抽象。
接口:
成员变量:只可以是常量。
构造方法:无。
成员变量:只可以是抽象,在JDK1.8之后使用default关键字的方法可以是非抽象。
2. 关系区别
类与类:
继承,da单继承。
类与接口:
实现,单实现或多实现。
接口与接口:
继承,单继承或多继承。
3. 设计理念区别
抽象类 被继承体现的是“is a”的关系。抽象类中定义的该继承体系中的共性功能。
接口 被实现体现的是“like a”的关系。接口中定义的是该体系的扩展功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值