java8新特性--接口增强

    Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。 Oracle 公司于 2014 年 3 月 18 日发布 Java 8 。Java8包含了很多新的特性,可以简化开发,提升代码的可读性。

    java8的一些重要新特性包括:

  • 接口增强
  • 方法引用
  • Lambda表达式
  • Stream
  • 新工具
  • Nashorn,JavaScript引擎

 其中还有一些其他的特性,如:Data Time API、Optional类、默认方法等;

1.接口增强是什么:

    在java8以前的版本中,定义一个接口时,所有的方法必须是抽象方法,不可以有具体的实现,但是在java8中定义一个接口时,在满足特定的前提下,可以有方法的实现,这样一个接口中可以有属性,有抽象方法,有具体的方法,java8跟以前的版本相比,功能明显变得强大了。

2.接口中如何定义具体的方法实现?

    接口中定义具体的方法是有限制的,不能像我们普通的类定义方法一样,在接口中定义方法,只能定义defaultstatic类型的方法,示例如下:

public interface InterfaceDemo {
    //default 和 static方法的出现为了解决该借款的子类代码重复的问题
    default void defaultMethod(){
        System.out.println("defaultMethod!!!");
    }
    default int sum(int a,int b){
        return a+b;
    }
    static void staticMethod(){
        System.out.println("staticMethod!!");
    }
    static int multiplication(int a,int b){
        return a*b;
    }


}

这里除了关键字修饰,其他地方跟普通方法定义并没有什么不同。

3.如何调用:

  1. default方法调用:定义一个类实现接口,new该类的实例,即可调用。
  2. static方法调用:类名.方法名() 调用,这根以前的静态方法调用方式一样。

    示例代码如下:

public class InterfaceImpl implements InterfaceDemo{
    public static void main(String[] args) {
        InterfaceDemo id = new InterfaceImpl();
        int i= id.sum(1,9);
        System.out.println(i);
        id.defaultMethod();
        InterfaceDemo.staticMethod();
    }

}

4.应用场景:

当多个类实现一个接口的某个方法时,方法的具体实现代码相同,这样就会造成代码重复问题。接口增强就相当于把公共的代码抽离出来,放入接口定义中,这样实现类对于该方法就不用重新定义,直接调用即可,这很好的解决了实现该接口的子类代码重复的问题

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值