一、创建接口,实现默认方法
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);
}
}