lambda表达式学习

让你秒懂的Lambda表达式超级详细讲解-CSDN博客

lambda表达式就是对匿名方法的进一步简化 

1.前提

所以你写lambda的时候就不会纠结重写哪一个方法了,避免了歧义,重写唯一的那一个抽象方法。

2.格式

()->{                  }

3.省略规则

4.注意事项

5.匿名内部类和lambda表达式区别

总体来说lambda表达式可以在单个抽象方法的接口情况下作为一种简单的替代,对于复杂的情况还得用匿名内部类

public interface Inter{
    void show();
    //void show1();
}

abstract class Animal {
    public abstract void method();
}
class Student {
    public void study(){
        System.out.println("爱生活,爱java");
    }
}

public class LambdaDemo{
    public static void main(String[] args) {
        /*//匿名内部类
        useInter(new Inter() {
            @Override
            public void show() {
                System.out.println("接口");
            }
        });

        useAnimal(new Animal() {
            @Override
            public void method() {
                System.out.println("抽象类");
            }
        });

        useStudent(new Student(){
            @Override
            public void study(){
                System.out.println("具体类");
            }
        });*/

        //Lambda
        useInter(() -> System.out.println("接口"));
        //useAnimal(() -> System.out.println("抽象类"));//不可以
        //useStudent(() -> System.out.println("具体类"));//不可以
    }
    private static void useStudent(Student s){
        s.study();
    }
    private static void useAnimal(Animal a){
        a.method();
    }
    private static void useInter(Inter i){
        i.show();
    }
}

public interface Inter{
    void show();
    void show1();
}


public class LambdaDemo{
    public static void main(String[] args) {
        useInter(new Inter() {
            @Override
            public void show() {
                System.out.println("show");//👈只打印这一个show
            }
            @Override
            public void show1() {
                System.out.println("show");
            }
        });
    }

    private static void useInter(Inter i){
        i.show();
    }
}

6.函数式接口

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值