JAVA单排日记-2020/2/1-函数式接口_函数式接口概念与使用

1.概念与定义

  • 概念
    函数式接口在Java中是指:有且仅有一个抽象方法的接口
  • 格式
public interface MyFunction {
    public abstract void function();
}

  • 检测是否为函数式接口@FunctionalInterface
@FunctionalInterface
public interface MyFunction {
    public abstract void function();
}

2.使用

  • 一般函数式接口可以作为方法的返回值参数使用

函数式接口

@FunctionalInterface
public interface MyFunction {
    public abstract void function();
}

接口实现类

public class MyFunImpl implements MyFunction {
    @Override
    public void function() {
        System.out.println("使用实现类重写接口中的抽象方法");
    }
}

主程序

public class Demo01 {
    public static void main(String[] args) {

        //调用fun方法,参数为接口,可以传递接口的实现类对象,重写接口抽象方法
        fun(new MyFunImpl());

        //调用fun方法,参数为接口,可以使用匿名内部类,重写接口抽象方法
        fun(new MyFunction() {
            @Override
            public void function() {
                System.out.println("使用匿名内部类重写接口中的抽象方法");
            }
        });

        //调用fun方法,参数为函数式接口,可以使用Lambda函数,重写接口抽象方法
        fun(()->{
            System.out.println("使用Lambda函数重写接口中的抽象方法");
        });

        //{}内只有一行语句,可以简化Lambda表达式,去掉{}
        fun(()-> System.out.println("使用简化Lambda函数重写接口中的抽象方法"));
    }

    public static void fun(MyFunction myfun){
        myfun.function();
    }
}

在这里插入图片描述

发布了131 篇原创文章 · 获赞 1 · 访问量 4453

猜你喜欢

转载自blog.csdn.net/wangzilong1995/article/details/104130336
今日推荐