方法引用

方法引用

  • 将已经写好的方法拿过来, 作为函数式接口的抽象方法的方法体
  1. 引用处必须是函数式接口
  2. 被引用的方法必须存在
  3. 被引用的方法返回值和参数必须和抽象方法保持一致
  4. 被引用的方法的功能需要满足当前需求

引用静态方法

  • 格式: 类名 :: 静态方法

引用成员方法

  • 格式: 对象 :: 成员方法
  1. 其他类 -- 其他类对象 :: 方法名
  2. 本类 -- this :: 方法名(引用处不能是静态方法, 静态方法中没有this)
  3. 父类 -- super :: 方法名(引用处不能是静态方法, 静态方法中没有super)

引用构造方法

  • 格式: 类名 :: new
  • 需要根据实际情况重载构造方法

使用类名引用成员方法(不能引用所有类中的成员方法)

  • 格式: 类名 :: 成员方法

使用类名引用成员方法的特殊规则

  1. 引用处必须是函数式接口
  2. 被引用的方法必须存在
  3. 被引用的方法的形参, 需要跟抽象方法的第二个参数到最后一个参数保持一致, 返回值类型需要一致
  4. 被引用的方法的功能需要满足当前需求
此时抽象方法的形参详解:
  • 第一个参数: 表示被引用方法的调用者, 决定了可以引用哪些类中的方法
    在Stream流里面, 第一个参数一般都表示流里面的每一个数据
    假设流里面的数据是字符串类型, 那么使用这种方法来引用方法, 则只能引用String这个类里面的方法
  • 第二个参数到最后一个参数: 跟被引用方法的形参保持一致, 如果没有第二个参数, 则被引用方法只能是空参的成员方法

引用数组的构造方法

  • 格式: 数据类型[] :: new
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容