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");
        }
    }
  • 相关阅读:
    NOIP模拟赛 篮球比赛1
    class对象详解
    github如何搜索资料
    c# double 类型保留几位小数
    php项目执行composer install时报错
    承载地图的div如果隐藏再显示,则定位时会定位到页面左上角
    标题过长,用省略号显示
    跳转页面带参数
    日期和时间戳转换
    秒数转换为时分秒
  • 原文地址:https://www.cnblogs.com/ljjdyz/p/15402986.html
Copyright © 2011-2022 走看看