java 8 default_Java 8新特性default的用法

以前一直没有用过Java

8中的新特性,现在在项目中看到同事的代码用到了,顺便学习一下。具体是用在接口Interface中的,之前咱们对于接口的了解是这样的,接口中只能定义方法,不能去实现方法,相当于接口只做声明,不做实现,一定程度上体现Java的抽象性。

写个代码演示一下:​

接口SimpleInterface:​

a4c26d1e5885305701be709a3d33442f.png

接口的实现类SimpleInterfaceImpl:

a4c26d1e5885305701be709a3d33442f.png

运行结果输出: 做一些事情1

现在有一个需求就是需要在接口SimpleInterface中增加一个方法doSomeOtherWork()​,那么代码就变成下面这样了:

a4c26d1e5885305701be709a3d33442f.png

​我们知道接口的实现类是一定要实现接口中所有的方法的,所以此时实现类报错了,如下:

a4c26d1e5885305701be709a3d33442f.png

现在我们只有在实现类中去实现doSomeOtherWork(

)才可以使程序正常运行,但是我们知道在项目中修改代码是最不好的事情。为什么有那么多的框架?不就是让我们尽量不去修改源代码吗?讲究的是解耦合。所以现在如何能在不修改实现类代码的情况下去让程序正常运行?于是Java

8中的default出现了,从字面意思就可以理解它是默认的意思,就是在接口中把doSomeOtherWork(

)定义成default,然后直接在接口中去实现它的方法体,现在已经打破我们所知的接口中不能实现方法的老的认知了。

现在代码已经变成这样了:

a4c26d1e5885305701be709a3d33442f.png

现在实现类中默认已经实现了doSomeOtherWork( )了,可以直接调用doSomeOtherWork( )了。

a4c26d1e5885305701be709a3d33442f.png

​​运行结果是:做一些事情1

做一些事情2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值