接口类只有一个抽象方法,才可以使用lambda表达式
package com.lambda;
public class lambdaTest {
public static void main(String[] args) {
//向上转型 实现接口类对象的引用赋值给接口对象
iWant iwant=new Want();
//1.lambda表达式练习
iwant=(String a)-> {System.out.println("我曾想~~~~");
System.out.println("我曾想"+a);};
iwant.want("弹钢琴");
}
}
interface iWant{
public abstract void want(String a);
}
class Want implements iWant{
@Override
public void want(String a) {
}
}
1.当代码块中只有一条语句时,可以去掉大括号
iWant iwant=new Want();
iwant=(String a)-> System.out.println("我曾想"+a);
iwant.want("唱歌");
2.当只有一个形参,可以去掉参数类型和括号
iWant iwant=new Want();
iwant= a-> System.out.println("我曾想"+a);
iwant.want("跳舞");
3.当含有两个参数时,不能省略括号,可以省略参数类型
iWant iwant=new Want();
iwant= (a,b)-> {
System.out.println("我曾想"+a);
System.out.println("我曾想"+b);
};
iwant.want("rap","打篮球");
标签:System,iwant,iWant,want,println,lambda,表达式,out
From: https://www.cnblogs.com/weifengfuxiufa/p/16962665.html