练习:
1.接口
package com._06lambda;
/**
* @Package: com._06lambda
* @ClassName: IComputeService
* @Description: <p>Description: </p>
* @author: zq
* @since: 2020/5/5 22:31
* @version: 1.0
* @Copyright: 2020 zq. All rights reserved.
*/
public interface IComputeService {
void print(String str);
}
2.测试类
package com._06lambda;
/**
* @Package: com._05annoymousObject
* @ClassName: Test
* @Description: <p>Description: </p>
* @author: zq
* @since: 2020/5/5 22:32
* @version: 1.0
* @Copyright: 2020 zq. All rights reserved.
*/
public class Test {
public static void main(String[] args) {
//匿名对象方法,一次编写一次使用,面向过程编程
IComputeService service = new IComputeService() {
@Override
public void print(String str) {
System.out.println(str);
}
};
service.print("hello service");
//使用lambda表达式的写法:常规写法
IComputeService service2 = (String str) -> {
System.out.println(str);
};
service2.print("hello service2");
//使用lambda表达式的写法:简写
//1、形参列表中数据类型可以不写,可以自动推断
IComputeService service3 = str -> {
System.out.println(str);
};
service3.print("hello service3");
//使用lambda表达式的写法:简写
//1、形参列表中数据类型可以不写,可以自动推断
//2、如果方法中的代码只有一句,可以省略掉大括号{}。如果是return返回数据的,可以省略return
IComputeService service4 = str -> System.out.println(str);
service4.print("hello service4");
}
}