JAVA为什么需要接口

接口是一种规范

接口方便了多人项目中开发者间的分工协作。考虑一下两种场景:

  1. 场景一:开发者1想要实现A类,为了加快开发速度,开发者1选择将一部分功能的实现抽象为一个工具类B,并交由开发者2实现这个B类。
    此时开发者1可以通过接口B定义好所需方法,开发者1无需等待开发者2实现B类,就可以继续实现A类(虽然无法进行调试)。开发者2直接按照开发者1提供的接口B开发,而无需和开发者1反复沟通。本来是有顺序的A类和B类可以实现同步开发。
  2. 场景二:当A类对B类的需求发生变化时,要求开发者2重新实现一个B2类来代替B类。接口B的存在让开发者2可以直接按照接口B来开发类B2,而无需去A类或B类查找需要实现的方法。

接口可以实现多继承

JAVA中不允许一个类同时有多个父类,但是允许一个类同时实现多个接口。当然这种多接口与真正的多继承是不等价的。因为实际项目中,继承是为了子类能直接使用父类的一些方法,而无需自行实现。但是接口是没有方法的实现的,还是需要子类自行实现。
而在JDK1.8中加入了接口的默认实现功能,该功能可以给接口类的方法定义一个defualt方法。此时多接口可以实现多继承的一些功能了。
当然为了避免多继承中可能存在的同名方法问题,当多接口有同名默认方法时,就必须要在实现类重写该方法。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值