Loading

Lamda 表达式

Runable 是一个函数接口,再创建线程时可以使用 Lamda 表达式,下面是 Lamda 的简化过程

public class index {

    // 3.实现静态类
    static class Student1 implements ILike {

        @Override
        public void eat() {
            System.out.println("student1-eat");
        }
    }

    public static void main(String[] args) {
        ILike like = new Student();
        like.eat();

        ILike like1 = new Student1();
        like1.eat();

        // 4. 内部实现类
        class Student2 implements ILike {

            @Override
            public void eat() {
                System.out.println("student2-eat");
            }
        }
        ILike like2 = new Student2();
        like2.eat();
        // 5. 匿名内部类,没有类的名称,必须借助接口或者父类
        ILike like3 = new ILike() {
            @Override
            public void eat() {
                System.out.println("student3-eat");
            }
        };
        like3.eat();

        // 6. lambda 简化
        ILike like4 = ()->{
            System.out.println("student4-eat");
        };
        like4.eat();

    }
}

// 1. 定义一个接口
interface ILike {
    void eat();
}

// 2.定义一个类并继承接口
class Student implements ILike {

    @Override
    public void eat() {
        System.out.println("student-eat");
    }
}
  1. 前提是接口为函数接口,一个接口中只有一个方法,如ILike
  2. 只能有一行代码的情况下才能写到一行中
    ILike like4 = ()->System.out.println("student4-eat");
  3. 多个参数也可以去掉参数类型,要去掉都去掉,必须加括号
    ILike like4 = (a,b)->System.out.println("student4-eat");
posted @ 2024-03-15 21:38  _尼欧`  阅读(1)  评论(0编辑  收藏  举报