chapter37(lixinghua) lambda表达式

博客围绕lambda表达式展开,但具体内容缺失,推测可能涉及lambda表达式的原理、应用等信息技术相关知识。
package lambda;

//lambda表达式要求,要实现的接口中必须只有一个方法
//@FunctionalInterface 用来约束接口中只有一个方法的声明  如果大于或小于一个方法会报错
@FunctionalInterface
public interface Language {
    void sayLan(String lan);
}
package lambda;
@FunctionalInterface
public interface Math {
    public int add(int x,int y);
}
package lambda;

import org.junit.Test;

public class testLanguage {
    @Test
    public void test(){
        //匿名内部类直接实现接口方法  节省了一个文件(接口的实现类省掉)
        Language language = new Language() {
            @Override
            public void sayLan(String lan) {
                System.out.println("I speak "+lan);
            }
        };
        language.sayLan("chinese");
        //lambda表达式实现接口方法
        //(lan)->{System.out.println("I speak "+lan);}是接口中的方法实现
        Language language1 = (lan)->{System.out.println("I speak "+lan);};
        language1.sayLan("English");

        // p1+p2 就是接口中add方法的方法体
        //虽然add方法又返回值   但是在lambda中不用显示写出来
        //简单来说 lambda中 "->" 的左边是参数 右边是接口中的函数体
        Math math = (p1,p2) -> p1+p2;
        int value = math.add(1,2);
        System.out.println(value);
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值