1. 程式人生 > 實用技巧 >方法引用_通過this引用本類的成員方法

方法引用_通過this引用本類的成員方法

package com.chunzhi.Test08ThisMethodReference;
/*
    通過this引用本類的成員方法
 */
public class Husband {
    // 定義一個買房子的方法
    public void buyHouse() {
        System.out.println("北京二環內買一套四合院!");
    }
    // 定義一個結婚的方法,引數傳遞Richable函式式介面
    public void marry(Richable c) {
        c.buy();
    }
    // 定義一個非常高興的方法
    public
void 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();
}