package lambda;
interface Animal{
void shout();
}
public class Lambda1 {
public static void main(String[] args) {
String name = "小花";
//使用java中Lambda表达式,无参数,单表达式语句。
animalshout(()->System.out.println("Lambda表达式输出:"+name+"喵喵。。。"));
}
//创建一个animalShout()静态方法,接收接口类型参数
public static void animalshout(Animal an) {
an.shout();
}
}
在使用jdk1.8.0-151时出现的错误,本来在java8.0版本中,增加的新特性应该是, 局部内部类、匿名内部类可以访问到非final的局部变量,增加了lambda表达式的,但是我之前使用jdk1.8.0-151,应该是旧版本,虽然是1.8.0,但还没有更新新特性,所以输出lambda时总是出现多个语法错误,面对这种情况,读者应该去Java官网中使用卸载工具取出旧版本,直接安装最新的jdk版本,第二步在Eclipse编译器中更改自己的jdk版本,由于新版的JDK9,11,13,17没有JRE,所以无法在Eclipse中自主更改JRE,本人愚钝