zoukankan      html  css  js  c++  java
  • JDK1.8新特性Lambda表达式

    /**
     * Lambda
     * @date 2019/8/2 10:03
     */
    public class Lamda {
        public static void main(String[] args){
            IEat iEat=new IEatImpl() ;
            iEat.eat("苹果");
    
    
            IEat iEat1=new IEat(){//内部类new接口IEat()是接口//匿名内部类
                @Override
                public void eat( String thing) {
                    System.out.println("eat banna"+thing);
                }
            };
            iEat1.eat("香蕉");
    
            //Lambda 功能和上面一样
            //1.代码更简洁,2.不能生成单度的class文件,3.只能实现一个方法
            //带参数使用,可以省略参数类型(String thing)可以写成thing
            //(实现方法的参数)->{这里面写实现方法}
            IEat iEat2=(String thing)->{System.out.println("我是实现类"+thing);};
            iEat2.eat("橘子");
            IEat iEat5= thing->System.out.println("更简洁的写法"+thing);//更简洁的写法
            iEat5.eat("更简洁");
            //-------------------------------------------------------------
            //4.带返回值的:
            IEat1 iEat3=(thing)->{
                System.out.println("我是实现类"+thing);
                System.out.println("可以多句"+thing);
                return 10;
            };
            iEat3.eat("葡萄");
            //5.带返回值还可以写成
            IEat1 iEat4 = (thing)->thing==null?1:0;
            //参数中可以写final String thing
        }
    
    }
    interface IEat{
        public void eat(String thing);//可以传参
        //接口中可以有一个default默认方法 对Lambda表达式没有影响
        public default void print(){
            System.out.println("我是接口的默认方法");
        }
    }
    
    class IEatImpl implements IEat{
    
        @Override
        public void eat(String thing) {
            System.out.println("吃"+thing);
        }
    }
    //带返回值的接口
    interface IEat1{
        public int eat(String thing);//可以传参
    }
    

     把匿名内部类的写法简单化,实现一个接口的方法.

     

  • 相关阅读:
    LOJ #6183 看无可看
    BZOJ 5467 Slay the Spire
    BZOJ 5306 [HAOI2018] 染色
    BZOJ 2784 时间流逝
    BZOJ4911: [Sdoi2017]切树游戏
    min-max 容斥
    BZOJ 5475: [WC 2019] 数树
    BZOJ 2810 [Apio2012]kunai
    Codeforces round 1083
    详解大数据数据仓库分层架构
  • 原文地址:https://www.cnblogs.com/july7/p/11341994.html
Copyright © 2011-2022 走看看