java8中什么是接口默认方法

  介绍

这篇文章主要介绍java8中什么是接口默认方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

java8已经发布很久,而且毫无疑问,java8是自java5(2004年发布)之后的最重要的版本。其中包括语言,编译器,库,工具和JVM等诸多方面的新特性.Java8新特性列表如下:

    <李>接口默认方法 <李>函数式接口 <李>λ表达式 <李>方法引用 <李> <李>可选流类 <李>日期API李 <李> Base64李 <李>重复注解与类型注解

<强> 1,什么是接口默认方法

从java8开始,程序允许在接口中包含带有具体实现的方法,使用默认修饰,这类方法就是默认方法。默认方法在接口中可以添加多个,并且java8提供了很多对应的接口默认方法。

<强> 2,设计接口默认方法好处

使用接口编程的好处是的开发是面向抽象而不再是面向具体来编程,使得程序变得很灵活,缺陷是,当需要修改接口时候,此时对应需要修改全部实现该接口的类,举个例子,java 8之前对于我们常用的集合框架没有foreach方法,通常能想到的解决办法是在JDK里给相关的接口添加新的方法及实现。从java8开始,引入了接口默认方法,这样的好处也是很明显的,首先解决了java8以前版本接口兼容性问题,同时对于我们以后的程序开发,也可以在接口子类中直接使用接口默认方法,而不再需要再各个子类中各自实现响应接口方法。

<强> 3,默认方法

jdk8中,接口可以包含实现方法,需要使用默认修饰,此类方法称为默认方法。默认方法在接口中必须提供实现,在实现类中可以按需重写。默认方法只能在实现类中或通过实现类对象调用。注意:当多个父接口中存在相同的默认方法时,子类中以就近原则继承。

公共接口IMathOperation {/* *
  *定义接口默认方法支持方法形参
  */默认空print () {
  System.out.println(“这是数值运算基本接口…“);
  }
  }

<强> 4,静态方法

静态方法即通过静态修饰的方法。接口中静态方法页也必须实现,提供了可以直接通过接口调用方法的方式。

公共接口IMathOperation {/* *
  *定义接口默认方法支持方法形参
  */默认空print () {
  System.out.println(“这是数值运算基本接口…“);
  }/* *
  *定义静态默认方法
  */静态空白版本(){
  System.out.println(“这是1.0版简易计算器“);
  }
  }

<强> 5,接口默认方法使用

定义IMathOperation接口并提供默认打印方法

公共接口IMathOperation {/* *
  *定义接口默认方法支持方法形参
  */默认空print () {
  System.out.println(“这是数值运算基本接口…“);
  }/* *
  *定义静态默认方法
  */静态空白版本(){
  System.out.println(“这是1.0版简易计算器“);
  }/* *
  *整数加法运算方法
  * @param
  * @param b
  * @return
  */公共int添加(int, int b);
  }

<强>子类实现

定义MathOperationImpl子类实现IMathOperation接口

 java8中什么是接口默认方法

这里可以看的到,在实现IMathOperation接口时可以选择实现(也可以不实现,在子类方法中直接使用)接口默认方法。

/* *
  *定义手机接口提供默认信息方法
  */公共接口电话{
  默认的无效信息(){
  System.out.println(“这是一部手机“);
  }
  }/* *
  *定义小蜜蜂子接口并继承手机父接口同时也提供信息方法
  */小蜜蜂公共接口扩展电话{
  默认的无效信息(){
  System.out.println(“这是一部小米手机“);
  }
  }/* *
  *实现电话小蜜蜂接口
  */公共类M2sPhone实现电话、小蜜蜂{
  
  公共静态void main (String [] args) {
  新的M2sPhone () . info ();
  }
  }
  
  打印结果:
  这是一部小米手机

java8中什么是接口默认方法