美文网首页工作生活
接口的默认方法(Default Methods for Inte

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

作者: xuweiqiang | 来源:发表于2019-07-01 00:54 被阅读0次

    接口的默认方法(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

      }

    }

    相关文章

      网友评论

        本文标题:接口的默认方法(Default Methods for Inte

        本文链接:https://www.haomeiwen.com/subject/cdtwcctx.html