Java8-默认方法

2018-02-28  本文已影响0人  红领巾三道杠

普通默认方法

编码方式

    public interface Man {
        default void say() {
            System.out.println("I'm a Man ");
        }
    }

多个默认方法解决方案

当一个类实现多个具有默认方法的接口,且这些接口具有相同的默认方法:

  1. 创建同名方法覆盖重写接口的默认方法
    public class People implements Man, Woman {
        public void say() {
            System.out.println("I'm a People ");
        }
    }
    public interface Man {
        default void say() {
            System.out.println("I'm a Man ");
        }
    }

    public interface Woman {
        default void say() {
            System.out.println("I'm a Woman");
        }
    }
  1. 使用super来调用指定接口的默认方法
    public class People implements Man, Woman {
        public void say() {
            Man.super.say();
            Woman.super.say();
            System.out.println("I'm a People ");
        }
    }

静态默认方法

 public interface Man {
        default void say() {
            System.out.println("I'm a Man ");
        }
        static void hello(){
            System.out.println("hello");
        }
    }
    public class People implements Man, Woman {
    ...
        public void hello(){
            Man.hello();
        }
    }
上一篇下一篇

猜你喜欢

热点阅读