JDK新特性--接口的增强

1.接口增强

在JDK8之前,JDK规定接口中只能定义 ①静态常量  ②抽象方法

修饰词 interface 接口名{
    静态常量;
    抽象方法;
}

 在JDK8之后,对接口进行了增强。我们可以在接口中定义 ①静态常量   ②抽象方法   ③默认方法    ④静态方法

修饰词 interface 接口名{
    静态常量;
    抽象方法;
    默认方法;
    静态方法;
}

 2.默认方法(default修饰)

public interface Map<K,V>{
    ...
    default void forEach(BiConsumer<? super K, ? super V> action){
        ...
    }
}

特性:

    1.新增的默认方法实现类不必重写,可以直接使用;

    2.实现类也可以根据需要重写       ---->这样就方便了接口的扩展。​​​​​​

 

 3.接口静态方法

为了方便接口的扩展,JDK8 同时为接口新增了静态方法

特性:

    1.接口中的静态方法,实现类既不能调用,也不能重写;(只属于接口本身)

    2.只能通过接口名. (接口名+ .)的方式调用

 4.默认方法、静态方法的定义

//默认方法的定义(使用 default 定义)
修饰符 interface 接口名{
    修饰符 default 返回值类型 方法名(){
        代码部分;
    }
}
 
//静态方法的定义(使用 static 修饰)
修饰符 interface 接口名{
    修饰符 static 返回值类型 方法名(){
        代码部分;
    }
}

 5.默认方法 和 静态方法 的区别

1.默认方法通过实例调用,静态方法通过接口名调用

2.默认方法可以被继承,实现类可以直接使用接口默认方法,也可以重写接口默认方法

3.静态方法不能被继承,实现类不能重写接口静态方法,只能使用接口名调用。

资料参考来源:JDK8辅助学习(二):Lambda表达式----常用的内置函数式接口_扛麻袋的少年的博客-CSDN博客

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值