• lambda表达式


    1. 首先声明一个接口

    1 package cn.itcast.day_05.test_06;
    2 
    3 public interface Cook {
    4     
    5     void makeFood();
    6 }

    2. 在主函数中写一个方法,传入的参数为上面所定义的接口

    1 public static void invokeCook(Cook cook){
    2         
    3         cook.makeFood();
    4     }

    3 三种不同的方式调用inVokeCook方法,并实现Cook接口中的方法

    (1)创建接口对象,然后重写接口中方法,调用该方法,将接口对象传入该方法。

    1 Cook cook = new Cook() {
    2             @Override
    3             public void makeFood() {
    4                 System.out.println("MakeFood");
    5             }
    6         };
    7 
    8         invokeCook(cook);

    (2)采用匿名内部类,直接调用invokeCook方法,在参数中进行对象创建和方法实现。

    1 invokeCook(new Cook() {          
    2             @Override
    3             public void makeFood() {
    4                 System.out.println("MakeFood");
    5             }
    6         });

    (3)采用Lambda表达式,省略参数中创建对象的过程。

    1 invokeCook(()->{
    2             System.out.println("MakeFood");
    3         });

    tips:凡是调用一个方法,且该方法中需要传递的参数为接口,也就是说在调用该方法时需要:new+接口名{ 实现接口中的方法} 这种写法。并且接口中只有一个抽象方法。则一律使用lambda表达式

  • 相关阅读:
    生成器
    迭代器
    闭包函数
    装饰器(2)
    装饰器(1)
    名称空间与作用域(2)
    110.网络编程-mail
    109.网络编程-FTP
    108.网络编程-TCP/UDP
    107.xpath
  • 原文地址:https://www.cnblogs.com/nnnnbbbb1/p/12979151.html
Copyright © 2020-2023  润新知