79-Lambda编程--使用Lambda表达式,实现多线程 (一个括号一个箭头一些代码组成Lambda表达式)

79-Lambda编程--使用Lambda表达式,实现多线程 (一个括号一个箭头一些代码组成Lambda表达式),第1张

79-Lambda编程--使用Lambda表达式,实现多线程 (一个括号一个箭头一些代码组成Lambda表达式)
package Demo05;

public class Demo02Lambda {
    public static void main(String[] args) {
        //使用的是匿名内部类方法
        new Thread(new Runnable() { //因为这是一个匿名内部类所以可以使用接口来接收他
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName() + "新线程创建了");
            }
        }).start();

        //使用Lambda表达式,实现多线程   (一个括号一个箭头一些代码组成Lambda表达式)
        new Thread(()-> {
                System.out.println(Thread.currentThread().getName() + "新线程创建了");
            }
        ).start();
    }
}

匿名内部类的好处和弊端

匿名内部类可以帮我们省去实现类的定义另一方面有点复杂

仔细分析上面代码段中匿名内部类的代码 Runnable接口其实只有一个run方法的定义

public abstract void run();

run方法无参数 无返回值 只有方法体

同样的语义体现在Lambda语法中更加简单  

()->{ System.out.println(Thread.currentThread().getName() + "新线程创建了"); }

1.前面的小括号代表run方法的参数这里是无所以空着,代表不需要任何条件

2.中间的一个箭头代表将前面的参数传递给后面的代码

3.后面的输出语句即业务逻辑代码

Lambda表达式的标准格式

Lambda表达式的标准格式
由三部分组成
1、一些参数
2、一个箭头
3、一段代码
格式
(参数列表)->{一些重写方法的代码}
解释说明格式
():接口中抽象方法的参数列表,没有参数就空着,有参数就写出参数多个参数用逗号分隔
-> :箭头是传递的意思,把参数传递给方法体{}
{}:重写接口抽象方法的方法体

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4688690.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-07
下一篇 2022-11-07

发表评论

登录后才能评论

评论列表(0条)

保存