Java8新特性学习-总结

时间:2022-02-21 19:04:22

1. 接口的扩展方法

Java8允许给接口添加一个非抽象的方法,只需要使用default关键字即可,这个特征又叫做扩展方法

代码:定义Formula 接口,接口里定义非抽象方法sqrt,并用default修饰

    interface Formula {
        double calculate(int a);
        default double sqrt(int a) {
            return Math.sqrt(a);
        }
    }

实现了Formula接口的子类只需要实现一个calculate方法,默认方法sqrt将在子类中可以直接使用。

    Formula formula = new Formula() {
        @Override
        public double calculate(int a) {
            return sqrt(a * 100);
        }
    };
         
    formula.calculate(100);     // 100.0
    formula.sqrt(16);           // 4.0

2. Lamda