接口和抽象类的选择

1. Java 中接口的概念

在Java中接口时一个特殊的抽象类,跟一般的抽象类相比,接口里面的所有方法都是抽象方法(jdk7以下),JDK8以后可以有静态和默认方法,接口里面的所有属性都是常量。

2. 接口用来干什么?

通常用接口来定义实现类的外观,也就是实现类的行为定义,用来约束实现类的行为。接口就相当于一份契约,根据外部应用需要的功能,约定了实现类应该要实现的功能,但是具体的实现类除了实现接口约定的功能外,还可以根据需要其他一些功能,这时允许的,也就是说实现类的功能包含但不仅限于接口约束的功能。

通过使用接口,可以实现不相关类的相同行为,而不需考虑这些类之间的层次关系,接口就是实现类对外的外观。

3. 接口思想

根据接口的作用和用途,浓缩下来,接口的思想就是"封装隔离"

通常提到的封装是指对数据的封装,但是这里的封装是指"对呗隔离体的行为的封装",或者是"对被隔离体的职责的封装";而隔离指的是外部调用和内部实现,外部调用只能通过接口进行调用,外部调用是不知道内部具体实现的,也就是说外部调用和内部实现是被接口隔离开的。

4. 使用接口的好处

由于外部调用和内部实现被接口隔离开了,那么只要接口不变,内部实现的变化就不会影响到外部的应用,从而使得系统更灵活,具有更好的扩展性和可维护性,这也就是所谓"接口时系统可插拔的保证" 这句话的意思。

接口和抽象类的选择

既然接口时一种特殊的抽象类,那么在开发中,何时选用接口?何时选择抽象类呢?
对于它们的选择,在开发中是一个很重要的问题,总结了两句话:

  • 优先选用接口
  • 在既要定义子类的行为,又要为子类提供公共的功能时应选择抽象类。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半夏_2021

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值