zoukankan      html  css  js  c++  java
  • JDK1.8之【Lamda表达式】

    /**
     *@className: TestLamda1
     *@description: lamda表达式应用
     *@author: jj.liu
     *@create: 2021-10-13 14:56
     */
    public class TestLamda1 {
    
        static class  Motorcycle2 implements Car{
            @Override
            public void drive() {
                System.out.println("学习摩托车驾驶。。。222");
            }
        }
        public static void main(String[] args) {
            //1、创建接口实现类对象
            Car car1 = new Motorcycle();
            car1.drive();
    
            //2、使用静态内部类调用
            Car car2 = new Motorcycle2();
            car2.drive();
    
            //3、使用局部内部类调用
            class Motorcycle3 implements Car{
                @Override
                public void drive() {
                    System.out.println("学习摩托车驾驶。。。333");
                }
            }
            Car car3 = new Motorcycle3();
            car3.drive();
    
            //4、使用匿名内部类,没有类的名称,必须借助接口或者父类
            Car car4 = new Car() {
                @Override
                public void drive() {
                    System.out.println("学习摩托车驾驶。。。444");
                }
            };
            car4.drive();
    
            //5、使用lamda表达式
            Car car5 = () -> {
                System.out.println("学习摩托车驾驶。。。555");
            };
            car5.drive();
    
            //6、简写
            Car car6 = () -> System.out.println("学习摩托车驾驶。。。666");
            //如果该接口抽象方法有参数,例如(int a),那么上面表达式可简写为:Car car6 = a -> System.out.println("学习摩托车驾驶。。。666");
            car6.drive();
    
    
            //总结:1、避免匿名内部类定义过多
            //     2、其实质属于函数式编程得概念
            //任何接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口
            //对于函数式接口,我们可以通过lamda表达式来创建该接口得对象。
        }
    }
    
    interface Car{
        void drive();
    }
    
    class  Motorcycle implements Car{
        @Override
        public void drive() {
            System.out.println("学习摩托车驾驶。。。111");
        }
    }
  • 相关阅读:
    springboot2 整合雪花算法,并兼容分布式部署
    docker 在 linux 搭建私有仓库
    jdbc 几种关系型数据库的连接 和 driver_class,以及简单的使用
    springboot2 整合发送邮件的功能
    oracle 唯一新约束 和 逻辑删除的 冲突处理办法
    oracle 一些常见操作方法
    spring-cloud-stream 整合 rabbitmq
    springboot2 整合 rabbitmq
    docker 安装 rabbitmq 消息队列
    网络统计学目录
  • 原文地址:https://www.cnblogs.com/ljjdyz/p/15402986.html
Copyright © 2011-2022 走看看