接口在JDK1.8前后的改变

JDK1.8之前 接口:

1.常量,必须赋值,默认修饰符:Public static final
2.抽象方法abstract(和final static private三个关键字冲突),默认修饰符:public abstract

JDK1.8之后 接口:

1.可以有非抽象方法,必须给出default关键字,前面不会有默认修饰符 public abstract
它的出现解决接口升级问题。1万个类实现了一个接口,这时候对接口进行了升级,按照jdk1.7的规则,加方法的话只能加
抽象方法,当加完抽象方法之后1万个类瞬间编译报错。因为必须要重写抽象方法。
有的时候我们希望1万个类如果有类想升级那么重写,有类的不想升级就别重写了。这时候default来了。
简单地说就是继承了接口也可以不想实现这个方法,但是方便后续的类来继续使用这个接口并写方法。
2.静态方法,给了static 前面就不会再有 默认修饰符 public abstract
作用:让接口具备了功能, 让接口来调用。
通过接口名.方法名调用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值