package day11;/**
* Lambda有参表达式
* 有参形式
* @author 臻冉
*
*/publicclassLambdaDemo2{publicstaticvoidmain(String[] args){//匿名内部类的方式写/*Test02 t = new Test02(){
public void demo2(int a){
System.out.println("a的值是:"+a);
}
};
t.demo2(9);*///Lambda表达式/*
* 1、在接口中的方法列表中可以省略类型
* 2、如果方法中只有一个参数则可以省略()
*/
Test02 t = a->System.out.println("a的值是:"+a);
t.demo2(9);
Test02_2 t2 =(int age,String name)->System.out.println("我的年龄是:"+age+";我的名字是:"+name);
t2.demo02(18,"张翠花");}}
package day11;/**
* Lambda表达式
* 有返回值没参数
* @author 臻冉
*
*/publicclassLambdaDemo3{privatevoidmian(){//匿名内部类/*Test03 t =new Test03(){
public int demo03(){
return 9;
}
};
int result = t.demo3();
System.out.println(result);
*///Labda 表达式/*
* 1、如果有返回值,并且没有方法体时,可以省略return,但是也要省略大括号
* 2、return和{}必须同时有或无
*/
Test03 t =(int a)->{ System.out.println("这里是返回值的Lambda表达式");return9;};int result = t.demo3(3);
System.out.println(result);}}
package day11;/**
* Lambda表达式
* 有参数也有返回值
* @author 臻冉
*
*/publicclassLambdaDemo4{publicstaticvoidmain(String[] args){//匿名内部类/*Test04 t = new Test04(){
public double demo2(int a ,double b){
return a+b;
}
};
double result = t.demo4(1, 4.1);
System.out.println(result);*///Lambda表达式
Test04 t =(a,b)->{System.out.println("Lambda有参也有返回值");return(int)(a+b);};double result = t.demo4(1,4.1);
System.out.println(result);}}
package day11;/**
* 利用Labda表达式
* 写线程任务
*/publicclassLambdaDemo5{publicstaticvoidmain(String[] args){//匿名内部类/*Runnable r = new Runnable(){
public void run(){
System.out.println("线程任务");
}
};
Thread t = new Thread();
r.run();*///Lambda表达式
Runnable r =()->System.out.println("线程任务");
r.run();}}
package day11;/**
* 利用Labda表达式
* 写线程任务
*/publicclassLambdaDemo5{publicstaticvoidmain(String[] args){//匿名内部类/*Runnable r = new Runnable(){
public void run(){
System.out.println("线程任务");
}
};
Thread t = new Thread();
r.run();*///Lambda表达式
Runnable r =()->System.out.println("线程任务");
r.run();}}