338Lambda标准格式

Lambda表达式的标准格式:

由三部分组成

  a.—些参数

  b.一个箭头

  c.一段代码格式:
(参数列表)->{一些重写方法的代码}

  解释说明格式:

  ():接口中抽象方法的参数列表,没有参数,就空着;有参数就写出参数,多个参数使用逗号分隔

  ->:传递的意思,把参数传递给方法体{}

  {}:重写接口的抽象方法的方法体

匿名内部类中最关键的内容是方法参数, 方法体, 返回值。
所以最好的方式是只关注这核心的三个内容。
lambda表达式就是只关注着三个内容

Lambda表达式的标准格式:
    (参数类型 参数名) -> {
        方法体;
        返回值;
    }
注意:
    1. 小括号里面可以写多个参数,多个参数之间用逗号隔开。
    2. ->是一个运算符,表示指向性动作。
    3. 大括号中要写方法体和返回值, 和之前传统方法的写法基本一致。

Lambda表达式可以省略面向对象中条条框框,让我们只关注最核心的内容。

函数式编程思想: 可推导,就是可省略。
因为Thread构造方法中要传递一个Runnable接口类型的参数,所以能够推导出来参数类型, 所以可以省略new Runnable
因为实现接口的时候要重写接口中的抽象方法, 重写之后的方法修饰符 返回值类型 方法名要和父类一致,所以我们可以省略要重写的方法的修饰符 返回值类型这些内容。

Lambda表达式是匿名内部类的简化写法


public class Demo02Inner {
public static void main(String[] args) {
    //创建Runnable接口的实现类对象
    MyTask myTask = new MyTask();
    new Thread(myTask).start();
    //使用匿名内部类实现
    new Thread(new Runnable() {
        @Override
        public void run() {
            System.out.println(Thread.currentThread().getName() + "执行了");
        }
    }).start();
    //使用Lambda表达式完成多线程
    new Thread(() -> {
        System.out.println(Thread.currentThread().getName() + "执行了");
    }).start();
}

 

 
 public static void main(String[] args) {
        //简化代码
        new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName()+"新的线程创建了");
            }
        }).start();

             //使用Lambda方式实现多线程
            new Thread(()->{
                System.out.println(Thread.currentThread().getName()+"新的线程创建了");
            }
        ).start();
    }
 

 

posted @ 2022-07-08 15:46  ja不会va  阅读(28)  评论(0)    收藏  举报