public static void main(String[] args) throws Exception {
// 第一种方法引用的类型是构造器引用,语法是Class::new,或者更一般的形式:Class<T>::new。注意:这个构造器没有参数。
Car car = Car.create(Car::new); List<Car> cars = new ArrayList<>();
cars.add(car); // 第二种方法引用的类型是静态方法引用,语法是Class::static_method。注意:这个方法接受一个Car类型的参数。
cars.forEach(Car::follow); // 第三种方法引用的类型是某个类的成员方法的引用,语法是Class::method,注意,这个方法没有定义入参:
cars.forEach(Car::repair); // 第四种方法引用的类型是某个实例对象的成员方法的引用,语法是instance::method。注意:这个方法接受一个Car类型的参数:
Car cart = Car.create(Car::new);
cars.forEach(cart::collide); // 不能接受非本对象类型的参数
// cars.forEach(cart::count);
}

最新文章

  1. shell-script的简单举例
  2. pmd静态代码分析
  3. 001.mysql安装(lnmp)
  4. CSS基本知识5-CSS对齐
  5. CSS选择器--普通选择器
  6. [Linux 性能检测工具]FREE
  7. 带有hover效果的text-overflow
  8. Java代码中执行Linux命令,亲测可用
  9. CSS样式的特点与优先选择权
  10. VS 2012中消失了的Create UnitTest
  11. SPOJ 7001 VLATTICE - Visible Lattice Points(莫比乌斯反演)
  12. javascript每日一练(三)——DOM一
  13. cocoaPods使用
  14. lesson - 11 课程笔记
  15. scrapy 修改URL爬取起始位置
  16. redis的持久化方式RDB和AOF的区别
  17. 【C语言】多项式加法(mooc第七周测试题)
  18. JAVA核心技术I---JAVA基础知识(格式化相关类)
  19. maven配置多仓库的方法
  20. canvas的drawImage函数

热门文章

  1. Android SDK 环境的搭建 --图形界面模式和命令行模式
  2. Web安全攻防(简)学习笔记
  3. 使用folderLeft函数统计字母出现的次数
  4. 蓝牙bluez命令
  5. NameNode和SecondaryNameNode(面试开发重点)
  6. .NET 设计模式 思维导图
  7. Distributional Reinforcement Learning with Quantile Regression
  8. 贝塞尔曲线(B-spline)的原理与应用
  9. 使用python制作趣味小游戏—投骰子
  10. 面试【JAVA基础】类加载机制