美文网首页Java学习笔记JavaEE 学习专题
JDK 8 -- FunctionalInterface函数式接

JDK 8 -- FunctionalInterface函数式接

作者: ted005 | 来源:发表于2017-01-05 18:17 被阅读279次

    @FunctionalInterface是JDK 8 中新增的注解类型,用来描述一个接口是函数式接口。例如我们熟悉的Runnable 接口:

    @FunctionalInterface
    public interface Runnable {   
         public abstract void run();
    }
    

    函数式接口的特征:

    • 接口中只定义了一个抽象方法。如TestInterface 接口中,只有一个sayHello()方法。

        @FunctionalInterface
        public interface TestInterface {   
             public abstract void sayHello();
        }
      
    • 接口中允许存在重写Object类的抽象方法。如在TestInterface 接口中,新增一个toString()方法,仍然不会报错。因为TestInterface 接口的实现类一定是Object类的子类,继承了toString()方法,也就自然实现了TestInterface 接口定义的抽象方法toString()

        @FunctionalInterface
        public interface TestInterface {   
             public abstract void sayHello();
             public abstract void toString();
        }
      
    • 函数式接口可以使用Lambda表达式方法引用构造函数引用来创建。其中的Lambda表达式在下一篇文章中会说明。

    使用@FunctionalInterface可以防止以后在接口中添加新的抽象方法签名。

    相关文章

      网友评论

        本文标题:JDK 8 -- FunctionalInterface函数式接

        本文链接:https://www.haomeiwen.com/subject/baznvttx.html