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


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);
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM