我们真的希望创建一个匿名内部类对象吗?不。我们只是为了做这件事情而不得不创建一个对象。我们真正希望做的事情是∶将run方法体内的代码传递给Thread类知晓。
传递一段代码**――这才是我们真正的目的。而创建对象只是受限于面向对象语法而不得不采取的一种手段方式。那,有没有更加简单的办法?如果我们将关注点从
""怎么做"回归到做什么"的本质上,就会发现只要能够更好地达到目的,过程与形式其实并不重要
而现在这种飞机(甚至是飞船)已经诞生∶2014年3月Oracle所发布的ava 8( JDK1.8 )中,加入了Lambda表达式的重量级新特性,为我们打开了新世界的大门。
代码:
new Thread(new Runnable() { @Override public void run() { System.out.println(Thread.currentThread().getName()+"新建"); } }).start(); new Thread(()-> { System.out.println(Thread.currentThread().getName() + "新建"); }).start();
lambda标准格式
Lambda表达式的标准格式:
由三部分组成:
a.—些参数
b.—个箭头
c.—段代码格式:
(参数列表)->{—些重写方法的代码};解释说明格式:
():接口中抽象方法的参数列表,没有参数,就空着;有参数就写出参数,多个参数使用逗号分隔->:转递的意思,把参数传递给方法体门
:垣写接口的抽象方法的方法体
代码:
new Thread(new Runnable() { @Override public void run() { System.out.println(Thread.currentThread().getName()+"新建"); } }).start(); new Thread(()-> { System.out.println(Thread.currentThread().getName() + "新建"); }).start();
复制
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)