方法引用_通過this引用本類的成員方法
阿新 • • 發佈:2020-12-05
package com.chunzhi.Test08ThisMethodReference; /* 通過this引用本類的成員方法 */ public class Husband { // 定義一個買房子的方法 public void buyHouse() { System.out.println("北京二環內買一套四合院!"); } // 定義一個結婚的方法,引數傳遞Richable函式式介面 public void marry(Richable c) { c.buy(); } // 定義一個非常高興的方法 publicvoid soHappy() { // Lambda表示式的寫法 // 呼叫結婚的方法,方法的引數Richable是一個函式式介面,傳遞Lambda表示式 marry(() -> { // 使用this.成員方法,呼叫本類買房子的方法 this.buyHouse(); }); // 引用的寫法 /* 使用方法引用優化Lambda表示式 this是已經存在的 本類的成員方法不用buyHouse也是已經存在的 所以我們可以是直接使用this引用本類的成員方法buyHouse*/ marry(this :: buyHouse); } public static void main(String[] args) { new Husband().soHappy(); } }
Richable函式式介面:
package com.chunzhi.Test08ThisMethodReference; // 定義一個富有的函式式介面 @FunctionalInterface public interface Richable { public abstract void buy(); }