浅析接口和抽象类的区别与使用场景(片段节选)

从设计层面看,抽象类体现继承关系(is a),它主要描述类的从属关系或者父子关系,抽象类和它的派生类之间是典型的IS-A关系,即“子is a父”。 

       interface可以多实现,而且不要求实现者和interface定义在概念本质上是一致的,仅仅是实现了interface定义的契约而已。它主要描述的是类型间的行为合同,接口和它的实现类之间是典型的CAN-DO关系,即“子can do父”。 

3、 应用场景介绍 

       什么时候使用抽象类和接口? 

  • 如果拥有一些方法并且想让它们中的一些有默认实现,那么使用抽象类吧。 
  • 如果想实现多重继承,那么必须使用接口。由于Java不支持多继承,即一个类只能有一个超类。但是,可以实现多个接口,因此可以使用接口来解决它。 
  • 如果基本功能在不断改变,那么就需要使用抽象类,达到解耦目的。如果不断改变基本功能并且使用接口,那么就需要改变所有实现了该接口的类。(这里说的基本功能就是说顶层方法的逻辑在不停的变更)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值