方法引用_通過類名引用靜態成員方法
阿新 • • 發佈:2020-12-04
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); }