Lambda表达式的学习

学习目标:认识Lambda表达式

 

什么是函数时编程?有什么好处?

    使用Lambda函数代替某些匿名内部类对象,从而让代码更加简洁,可读性更好。

Lambda表达式是什么?有什么用?怎么写?

    JDK8新增的一种语法,代表函数;可以用来简化并代替函数式接口的匿名内部类。

什么样的接口是一个函数式接口?怎么确保一个接口是函数式接口?

    只有一个抽象方法的接口就是函数式接口;

    在接口的上一行加上@FunctionalInterface注解即可。

代码实现案例:

package Lambda;

public class Test {
    public static void main(String[] args) {
        //目标:认识Lambda表达式
        //作用:用于替换某些匿名内部类对象,从而让程序更简洁,可读性更好
        //只能代替函数式接口的匿名内部类

        Swim swim = new Swim() {
            @Override
            public void Swimming() {
                System.out.println("lambda表达式");
            }
        };
        swim.Swimming();


//        Swim swim1 = () -> {
//            System.out.println("lambda表达式");
//        };
//        };
        //swim1.Swimming();


    }


    //创建一个函数式接口:只能有一个抽象方法
    @FunctionalInterface
    interface Swim {
        void Swimming();
    }
    
}

使用new方法new一个新的Swim对象重写Swimming方法;

package Lambda;

public class Test {
    public static void main(String[] args) {
        //目标:认识Lambda表达式
        //作用:用于替换某些匿名内部类对象,从而让程序更简洁,可读性更好
        //只能代替函数式接口的匿名内部类

//        Swim swim = new Swim() {
//            @Override
//            public void Swimming() {
//                System.out.println("lambda表达式");
//            }
//        };
//        swim.Swimming();


        Swim swim1 = () -> {
            System.out.println("lambda表达式");
        };
        swim1.Swimming();
        };



    }


    //创建一个函数式接口:只能有一个抽象方法
    @FunctionalInterface
    interface Swim {
        void Swimming();
    }

使用Lambda表达式简写方法,同样可以实现Swimming方法的重写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值