Lambda表达式 Lambda表达式是JDK 8开始后的一种新语法形式。 作用:简化匿名内部类的代码写法。 (匿名内部类被重写方法的形参列表) -> { 被重写方法的方法体代码。 } 注:-> 是语法形式,无实际含义
注意:Lambda表达式只能简化函数式接口的匿名内部类的写法形式
什么是函数式接口?
首先必须是接口、其次接口中有且仅有一个抽象方法的形式
内部类我们是这么写代码的
package com.itheima.d9_lambda; public class LambdaDemo0 { public static void main(String[] args) { Animal1 a1 =new Animal1 () { @Override public void run() { System.out.println("乌龟跑的很慢~~~~~"); } }; a1.run(); } } abstract class Animal1{ public abstract void run(); }
Lambda表达式 只能针对接口 接口中只有一个抽象方法 上述我们不可以用lambda写
package com.itheima.d9_lambda; public class TEST { @FunctionalInterface // 一旦加上这个注解必须是函数式接口,里面只能有一个抽象方法 interface Swimming1{ void swim1(); } public static void main(String[] args) { Swimming1 swimming1=()->{ System.out.println("游泳。。。。。"); }; go(swimming1); } public static void go(Swimming1 s){ System.out.println("开始。。。"); s.swim1(); System.out.println("结束。。。"); } }
标签:void,System,接口,public,表达式,Lambda From: https://www.cnblogs.com/popopopopo/p/16935069.html