1. 程式人生 > 實用技巧 >方法引用_通過類名引用靜態成員方法

方法引用_通過類名引用靜態成員方法

package com.chunzhi.Test06StaticMethodReference;
/*
    通過類名引用靜態成員方法
    類名已經存在,靜態成員變數方法也已經存在
    就可以通過類名直接引用靜態成員方法
 */
public class Test01StaticMethodReference {
    // 定義一個方法,方法的引數傳遞要計算絕對值的整數,和函式式介面Calculable
    public static int method(int number, Calculable c) {
        return c.calAbs(number);
    }

    
public static void main(String[] args) { // 呼叫method方法,傳遞計算絕對值的整數,和Lambda表示式 int number = method(-10, (int num) -> { // 對引數進行絕對值的計算,並返回結果 return Math.abs(num); // abs是靜態方法,可以通過類名直接呼叫 }); System.out.println(number); /* 使用方法引用優化Lambda表示式 Math類是存在的 abs計算絕對值的靜態方法也是存在的 所以我們可以直接通過類名引用靜態方法
*/ int number02 = method(-20, Math :: abs); System.out.println(number02); } }

函式式介面Calculable介面:

package com.chunzhi.Test06StaticMethodReference;
@FunctionalInterface
public interface Calculable {
    // 定義一個抽象方法,傳遞一個整數,對整數進行絕對值計算並返回
    public abstract int calAbs(int number);
}