匿名内部类、Lambda表达式使用

含义:匿名内部类就是一个没有名称的内部类,在调用包含接口类型参数的方法时,为了简化代码,不会创建一个接口的实现类作为方法参数传入,而是直接通过匿名类的方式传入一个接口类型参数,在匿名内部类中直接完成方法的实现。
例如:方法名(new 父类接口(){});
animalShout(new Animal({}));
调用animalShout()方法时,在方法的参数位置写上new Animal(){},这就相当于创建了一个实例对象,并将对象作为参数传给animalShout方法,在new Animal()后面有一个大括号,表示创建对象为Animal的子类实例,该子类是匿名的
(1)JDK8开始 允许内部类,匿名内部类中访问非final修饰的局部变量,而JDK之前,局部变量必须加final修饰符,否则会编译错误
2.Lambda表达式
含义:使用一个清晰简洁的表达式来表达接口,同时Lambda表达式也简化了对集合以及数组数据的遍历、过滤和提取。
只针对有一个抽象方法的接口实现,以简洁的方式来实现接口功能来作为方法参数
—>:用来指定参数数据的指向,不能省略,且必须用英文横线和大于书写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值