【JavaSE】Lamda表达式

Lamda表达式推理学习

我们要实现一个方法 一般有以下几种操作:

  1. 定义外部类,调用该接口
  2. 静态内部类
  3. 局部内部类
  4. 匿名内部类
  5. lambda 表达式

由上至下,每一层都要简易许多。

1. 定义外部类,调用该接口:

public class Lambda {
    // 主方法main
    public static void main(String[] args) {
        // 显示定义的一个like
        ILike like =  new Like();
        like.lambda();
    }
}

// 定义一个lambda1S的函数式接口
interface ILike {
    void lambda ();
}

2. 静态内部类


public class Lambda {

    // 静态内部类
    static class Like2 implements ILike{
        @Override
        public void lambda() {
            System.out.println("I like lambda2!");
        }
    }

    // 主方法main
    public static void main(String[] args) {
        // 显示定义的一个like2
        ILike like2 =  new Like2();
        like2.lambda();
    }
}

// 定义一个lambda1S的函数式接口
interface ILike {
    void lambda ();
}

// 定义外部类,调用该接口
class Like implements ILike{
    @Override
    public void lambda() {
        System.out.println("I like lambda!");
    }
}

汇总解释:


public class Lambda {

    // 静态内部类
    static class Like2 implements ILike{
        @Override
        public void lambda() {
            System.out.println("I like lambda2!");
        }
    }

    // 主方法main
    public static void main(String[] args) {

        // 显示定义的一个like
        ILike like =  new Like();
        like.lambda();

        // 显示定义的一个like2
        ILike like2 =  new Like2();
        like2.lambda();

        // 局部内部类
        class Like3 implements ILike{
            @Override
            public void lambda() {
                System.out.println("I like lambda3!");
            }
        }

        // 显示定义的一个like2
        ILike like3 =  new Like3();
        like3.lambda();

        // 匿名内部类
        like = new ILike() {
            @Override
            public void lambda() {
                System.out.println("I like lambda4!");
            }
        };
        like.lambda();

        // lambda 表达式
        like = () -> {
            System.out.println("I like lambda4!");
        };
        like.lambda();

    }
}

// 定义一个lambda1S的函数式接口
interface ILike {
    void lambda ();
}

// 定义外部类,调用该接口
class Like implements ILike{
    @Override
    public void lambda() {
        System.out.println("I like lambda!");
    }
}
posted @ 2022-11-05 21:40  柯基大大  阅读(3)  评论(0)    收藏  举报  来源