前言
今天学习了Lambda表达式的内容
核心思想为:一个接口或者抽象方法有且只有一个方法的情况下,可以使用Lambda表达式操作。
Lambda实战
超市售卖demo
思路:需要一个接口、一个实现类、Main函数、商品类
代码示例
Shop.java
package cn.marinda.javaproject.entity;
public interface Shop {
/**
* 出售物品
*
* @param goods 货物
*/
void sellGood(Goods goods);
}
Staff.java
package cn.marinda.javaproject.entity;
/**
* 超市人员
*
* @author Marinda
* @date 2023/01/11
*/
public class Staff {
public void sell(Goods goods,Shop shop){
shop.sellGood(goods);
}
}
Goods.java
package cn.marinda.javaproject.entity;
import lombok.Data;
/**
* 商品
*
* @author Marinda
* @date 2023/01/11
*/
@Data
public class Goods {
private String name;
private double price;
private int amount;
}
Main.java
package cn.marinda.javaproject;
import cn.marinda.javaproject.entity.Goods;
import cn.marinda.javaproject.entity.Staff;
public class JavaProject {
public static void main(String[] args) {
Goods paper = new Goods();
paper.setAmount(10);
paper.setPrice(18.5);
paper.setName("纸巾");
// 我们通过这个方法,将paper作为参数 ,goods 此时就是paper,重写了该方法实现
new Staff().sell(paper,(goods)->{
System.out.println("出售:"+ goods.getName() + ",价格:"+ goods.getPrice() + ",数量:" + goods.getAmount());
});
}
}
感谢你的观看!