多线程之lamda表达式

代码简化过程
 public class TestLambda1 {
 
     //3、静态内部类
     static class Like2 implements ILike{
         @Override
         public void lambda() {
             System.out.println("你好啊,我的朋友2");
        }
    }
 
     public static void main(String[] args) {
 
         ILike iLike = new Like();
         iLike.lambda();
 
         Like2 like = new Like2();
         like.lambda();
 
         //4、局部内部类
         class Like3 implements ILike{
             @Override
             public void lambda() {
                 System.out.println("你好啊,我的朋友3");
            }
        }
         Like3 like3 = new Like3();
         like3.lambda();
 
         //匿名内部类,没有类的名称,必须借助接口或者父类
         ILike like4 = new ILike() {
             @Override
             public void lambda() {
                 System.out.println("你好啊,我的朋友4");
            }
        };
         like4.lambda();
 
         //lambda表达式
         ILike like5 = ()-> System.out.println("你好啊,我的朋友5");
         like5.lambda();
    }
 }
 
 //1、定义一个函数接口类
 interface ILike {
     void lambda();
 }
 
 //2、实现类
 class Like implements ILike{
     @Override
     public void lambda() {
         System.out.println("你好啊,我的朋友1");
    }
 }
多参数lamda表达式
 public class TestLambda2 {
     public static void main(String[] args) {
 
         ILove love = null;
 
         love = (a,b,c)->{
             System.out.println("i love you "+ a + b + c);
        };
 
         //总结:
         //lambda表达式只有一行代码的情况下才能简化成一行,如果有多行,就要用代码块包裹
         //前提是接口为函数式接口
         //多个参数也可以去掉参数类型,要去掉就要都去掉,必须加上括号
 
         love.love(520,521,1314);
    }
 }
 
 interface ILove {
     void love(int a,int b,int c);
 }

 

posted @ 2021-06-28 14:13  深夜暗月  阅读(259)  评论(0)    收藏  举报