Lambda表达式
函数式编程的思想:
面向对象过分强调必须通过对象的形式来做事情,而函数式思想则尽量忽略面向对象的复杂语法---强调做什么,而不是什么形式做
面向对象的思想:
做一件事情,找一个能解决这个事情的对象,调用这个对象的方法,完成事情
函数式编程思想:
只要能获取到结果,谁去做的,怎么做的都重要,重视的是结果,不是过程
Lamdba表达式:是可推导。可省略的,凡是根据上几下文推导出来的内容,都可以省略书写
可以省略的内容:
1.(参数列表):括号中的参数类型,可以省略不写
2.(参数列表:括号中的参数如果只有一个,那么类型和()都可以省略
3.{一些代码} : 如果{}中的代码只有一行,无论是否有返回值,都可以省略({} ,return,分号) 注意:要省略({} ,return,分号)一起省略
package demo14Lamdba函数式编程;
/*
Lamdba由三部分组成:
一些参数、一个箭头、一段代码
格式:
(参数列表)->{一些代码}
():接口中抽象方法的参数列表,没有参数,就空着,有参数就写出参数,多个参数用空格分开
->:传递的意思,把参数传递给方法体{}
{}:重写接口的抽象方法的方法体
*/
public class demoLamdba {
public static void main(String[] args) {
//使用匿名内部类的方式,实现多线程
new Thread(new Runnable(){
@Override
public void run() {
System.out.println(Thread.currentThread().getName()+"---"+"传智播客");
}
}).start();
//使用Lamdba表达式,实现多线程
new Thread(()->{
System.out.println(Thread.currentThread().getName()+"---"+"传智播客");
}
).start();
//优化省略Lamdba
new Thread(()->
System.out.println(Thread.currentThread().getName()+"---"+"传智播客")
).start();
}
}