工作生活

接口的默认方法(Default Methods for Inte

2019-07-01  本文已影响0人  xuweiqiang

接口的默认方法(Default Methods for Interfaces)

Java 8使我们能够通过使用 default 关键字向接口添加非抽象方法实现。 此功能也称为虚拟扩展方法。

第一个例子:

interface Formula{

    double calculate(int a);

    default double sqrt(int a) {

        return Math.sqrt(a);

    }

}

Formula 接口中除了抽象方法计算接口公式还定义了默认方法 sqrt。 实现该接口的类只需要实现抽象方法 calculate。 默认方法sqrt 可以直接使用。当然你也可以直接通过接口创建对象,然后实现接口中的默认方法就可以了,我们通过代码演示一下这种方式。

public class Main {

  public static void main(String[] args) {

    // TODO 通过匿名内部类方式访问接口

    Formula formula = new Formula() {

        @Override

        public double calculate(int a) {

            return sqrt(a * 100);

        }

    };

    System.out.println(formula.calculate(100));    // 100.0

    System.out.println(formula.sqrt(16));          // 4.0

  }

}

上一篇下一篇

猜你喜欢

热点阅读