• 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");
        }
    }
  • 相关阅读:
    大神总结的
    更改Xcode的缺省公司名
    iPhone分辨率
    iOS 的 APP 如何适应 iPhone 5s/6/6Plus 三种屏幕的尺寸?
    storyBoard(tableViewl)
    storyBoard
    XIB可视化编程
    UITableView(五)
    UITableView(四)
    UITableView(三)
  • 原文地址:https://www.cnblogs.com/ljjdyz/p/15402986.html
Copyright © 2020-2023  润新知