编程思想转换
我们希望创建一个匿名内部类对象 我们只是为了做这件事情而不得不创建一个对象 我们真正希望做的事情:将run方法体内的代码传递给Thread类知晓
传递一段代码–这才是我们真正的目的 而创建对象只是受限于面向对象语句而不得不采取的一种手段方式
如果我们将关注点从“怎么做”回归到“做什么”的本质上 就会发现只要能够更好的达到目的 过程与形式并不重要
体验Lambda的更优写法
代码:
public static void main(String[] args) {
new Thread(()->{
System.out.println(Thread.currentThread().getName()+"创建了线程");
}).start();
}
运行结果:
这段代码和刚才的执行效果是完全一样的 可以在1.8或更高的编译级别下通过 从代码的语义可以看出
我们启动了一个线程 而线程任务的内容以一种更加简洁的形式被指定
不再有 不得不创建接口对象的束缚 不再有抽象方法覆盖重写的负担
Lambda标准格式
Lambda省去面向对象的条条框框 格式由3个部分组成
- 一些参数
- 一个箭头
- 一端代码
Lambda表达式的标准格式为
(参数类型 参数名称)->{代码语句}
- 小括号内的语法与传统方法参数列表一致:无参数则留空 多个参数则用逗号分隔
- ->是引入的语法格式 代码指向动作
- 大括号的语法与传统方法体要求基本一致
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/274033.html