zoukankan      html  css  js  c++  java
  • 补202012.20 方法引用

    方法引用:就是对lambda表达式中代码冗余现象的优化,优化lambda表达式
    1.概念
    在我们是哦用lambda表达式的时候其实传递的是一段解决问题的代码,给声明参数,做什么操作
    2.lambda代码冗余现象
    比如像打印一个内容:
    1.先准备一个函数式接口,内含一个抽象方法
    2.准备一个实现类,实现类里面有明确的操作方法,方法参数是之前定义的函数格式接口,函数式接口定义唯一一个抽象方法
    3.格式:实现类里面的方法:(类对象::对象里面的方法)
    3.方法引用符号
    双冒号---->::---->写法称之为【方法引用】

    方法引用使用场景
    1.通过对象名的引用成员方法

    • 准备一个方法类
    • 准备一个函数式接口
    • 准备一个测试类
      1的代码演示

    2.通过静态方法获取

    • 定义一个函数式接口
    • 静态方法,传入的参数是函数式接口
    • 使用方法引用优化lambda表达式
      2的代码演示

      注意:
      使用lambda表达式写法:d-->Math.abs(d)
      使用方法引用写法:Math::abs
      两者效果是一样的

    3.通过super来引用成员方法
    如果在存在继承关系,当lambda表达式需要使用super调用的时候也可以使用方法引用来优化lambda
    其实本质就是谈过对象来调用
    3的代码演示

    4.通过this来的调用用
    this指代当前对象,如果需要引用的方法是本类当中的成员方法,那么就不用new对象,直接使用【this::成员方法】
    代码演示

    5.类的构造器引用
    由于构造器得名称和类名称一样,所以构造器得应用使用【类名称】
    5的代码演示

    6.数组的引用优化

    为什么使用优化
    如果使用lambda表达式根据【可推到可省略就可以省略的状态】。也无需指定重写的形式。------>他们都可以被推导出来,能够使用方法引用,同样也是可以更具傻瓜下文推导出来。

    函数时接口时lambda得基础,而方法引用时lambda表达式得优化,所以函数时接口必须存在

  • 相关阅读:
    函数的设计和使用
    python正则表达式
    Python字符串
    Python序列(十一)集合
    centos 磁盘分区、格式化及挂载
    Nginx下配置SSL证书 调转到IIS、tomcat二级站点
    Mime 类型列表
    WCF学习- 体系结构
    .NET Framework Client Profile 简介
    WCF学习- 基础概念
  • 原文地址:https://www.cnblogs.com/tushao/p/14176658.html
Copyright © 2011-2022 走看看