给定一个计算器calculator接口,内含抽象方法calc可以将两个int数字相加得到和值
//调用invokecalc方法,方法的参数是一个接口,可以使用匿名内部类
定义一个方法
使用Lambda表达式简化匿名内部类的书写
Lambda省略格式&Lambda使用前提
优化lambda表达式
Lambda使用前提
Lambda的语法非常简洁,完全没有面向对象复杂的束缚。
但是使用时有几个问题需要特别注意︰.
1.使用Lambda必须具有接口,且要求接口中有且仅有一个抽象方法。无论是JDK内置的 Runnable 、comparator接口还是自定义的接口,只有当接口中的抽象方法存在且唯一时,才可以使用Lambda。
2.使用Lambda必须具有上下文推断也就是方法的参数或局部变星类型必须为Lambda对应的接口类型,才能使用Lambda作为该接口的实例。备注:有且仅有一个抽象方法的接口,称为“"函数式接口""。