java8新增了接口的默认方法, 也就是说在接口中也可以有实现了, 这个实现方法是默认的实现,你也可以在接口的实现类里对此默认方法进行重写。
如下实例:
public class AppInterfaceDefaultMethod {
public static interface DefaultMethodDemo {
//定义默认方法, 默认方法前面加default关键字, 后面跟方法声明和方法体
default void demo(String input) {
System.out.println(input);
}
void doSomething();
}
public static class DemoClass implements DefaultMethodDemo {
@Override
public void doSomething() {
System.out.println("do something");
}
}
public static class DemoClassOverrideDemo implements DefaultMethodDemo {
//重写了默认方法
@Override
public void demo(String input) {
System.out.println("demo " + input + " by override method");
}
@Override
public void doSomething() {
System.out.println("do something");
}
}
public static void main(String[] args) {
DefaultMethodDemo demo = new DemoClass();
demo.demo("abc");
DefaultMethodDemo demoOverride = new DemoClassOverrideDemo();
demoOverride.demo("abc");
}
}