lambda表达式 - 例子 - 理解

本文详细介绍了Java中Lambda表达式的使用方法,从静态内部类、局部内部类到匿名内部类,最终过渡到Lambda表达式的应用。通过具体示例,讲解了Lambda表达式的不同简化形式,包括如何省略参数类型、括号和花括号,以及其适用条件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考 B站 狂神说
在这里插入图片描述
例:
接口 Aa 、 接口变量 aaaa
外部类 Ss 、方法 aaa()

public class Lambda {
	/*
	//2、静态内部类
	static class Ss implements Aa{
		@Override
		public void aaa() {
			System.out.println("你好啊");
		}
	}*/

	public static void main(String[] args) {
		/*
		//3、局部内部类
		class Ss implements Aa{
			@Override
			public void aaa() {
				System.out.println("你好啊");
			}
			
		}*/
		
		/*
		//4、匿名内部类
		Aa a = new Aa() {
			@Override
			public void aaa() {
				System.out.println("你好啊");
			}
			
		};*/
		
		/*
		//5、lambda表达式
		Aa aaaa = (int a) -> {
				// TODO 自动生成的方法存根
				System.out.println("你好阿"+a);		
		};*/
		
		/*
		// 6、简化lambda表达式 -> 去掉参数类型
		Aa aaaa = (a) -> {
			System.out.println("你好阿" + a);
		};*/
		
		/*
		// 7、简化lambda表达式 -> 去掉参数类型 -> 去掉括号
		Aa aaaa = a -> {
			System.out.println("你好阿" + a);
		};*/
		
		// 8、简化lambda表达式 -> 去掉参数类型 -> 去掉括号 -> 去掉花括号
			Aa aaaa = a -> 
				System.out.println("你好阿" + a);
	
		//调用方法aaa()	
		aaaa.aaa(3);
		
		//总结:
		/*
		 * lambda表达式只有一行代码的情况下才能简化成一行,如果多行,那就用代码块{...}包裹;
		 * 前提是函数是借口(一个接口只有一个方法); -> 接口Aa只有一个方法aaa(int a)
		 * 多个参数也可以去掉参数类型,参数类型要去掉就都去掉必须加上括号;(a,b) -> System.out.println("你好阿" + a+b);
		 * */
	}

}

//接口 Aa
interface Aa{
	void aaa(int a);
}

/*
 * //1、外部类 Ss
class Ss implements Aa{
	@Override
	public void aaa() {
		System.out.println("你好啊");
	}
}
*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜里的雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值