Files
javaSE260715/s-day07/src/com/inmind/lambda01/Demo01.java
T

58 lines
2.1 KiB
Java

package com.inmind.lambda01;
/*
使用匿名内部类实现多线程
匿名内部类的语法:
new 父类|接口(){
要重写的方法
}
线程的启动方式有2种:
1.继承Thread
2.实现Runnable(重点)
-----------------------------------------------------------------------
函数式编程思想:重点关注做什么,而不是怎么做
为了编写线程任务代码,我们必须面向对象,new Runnable(),再重写run()(public void run()),其实
我们只是要编写run方法中的方法体而已。
我们可以这么理解,函数式编程思想:做什么就是要重写的方法的方法体,而之前的对象创建,重写方法的语法都省略掉
-----------------------------------------------------------------------
Lambda的格式和前提条件
函数式编程思想:重点关注做什么,而不是怎么做,在这个概念中做什么实际上就是一个方法的方法体
针对一个方法而言,它有3个核心:1.参数列表 2.方法体 3.返回值
Lambda表达式所需的语法的符号:(),->,{}
():参数列表
->:参数列表用来调用哪段代码
{}:方法体,根据是否有返回值,动态添加return
Lambda的格式:
(参数列表)->{
方法体;
[return]
}
lambda表达式的前提条件:
1.需要一个有且仅有一个抽象方法的接口(函数式接口)
2.接口作为参数或者变量类型
*/
public class Demo01 {
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();
}
}