jdk8 新特性之 接口默认方法

一、创建接口,实现默认方法

package interfaceTest;

/**
 * TODO  接口的默认方法
 *  使用 default 关键字使 interface 默认实现方法, 
 *  static 作用是使其方法可以被其他类直接调用,
 *  如注入到 spring容器中,不需要添加static
 *
 * @author ws
 * @mail [email protected]
 * @date 2020/5/13 0013 7:29
 */
public interface Formula {

    //加 - 使用static 关键字默认实现
    static double add(int a, int b) {
        return a + b;
    }

    //减 - default 关键字默认实现
    default double subtract(int a, int b) {
        return a - b;
    }
}



二、创建接口实现类(不需要实现)


// TODO 实现类
class FormulaImpl implements Formula {
    // 方法已默认实现,不需要实现, 可以重写实现
}

三、测试

class FormulaTest {

    // TODO  测试类
    public static void main(String[] args) {

        // 使用(类.方法) 访问static 关键字默认实现方法
        double add = Formula.add(2, 1);
        System.out.println(add);

        // 使用实现类来调用,default 关键字在接口默认实现的方法
        FormulaImpl formulaTest = new FormulaImpl();
        double subtract = formulaTest.subtract(2, 1);
        System.out.println(subtract);
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章