面向对象(抽象类与接口的区别)

本文详细阐述了抽象类与接口之间的区别,包括成员属性、成员方法的特点,以及它们的设计理念和使用场景。通过类比“亲爹”和“干爹”的关系来形象地解释抽象类与接口的不同之处。

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

抽象类的定义:

成员属性:可以是变量,也可以是常量

成员方法:可以抽象,也可以非抽象(比如:构造方法是一定会有的)


接口类的定义:

成员属性:只能是常量(public static final)

成员方法:只能是抽象(接口没有构造方法,像太监没有小JJ)


多态的区别:

类与类:

继承,单一继承(亲爹只有一个)

类与接口:

实现,单一、多重实现(可以认多个干爹)

接口与接口:

继承,单一、多重继承(可以认多个干爹)


设计理念区别:

抽象类被继承体现的是:“is a”的关系。抽象类中定义的是该继承体系的共性功能。(例如亲爹:直属血缘关系)

接口被实现体现的是:“like a”的关系。接口中定义的是该继承体系的扩展功能。(例如干爹:认契、过继关系)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值