Java方法引用主要有四種形式,它們分別是:
- 靜態方法引用:使用類名來引用靜態方法。這種引用方式適用于不依賴于對象狀態的方法,因為它們可以在沒有實例化的情況下被調用。靜態方法引用的語法是
ClassName::staticMethodName
。
- 特定對象的實例方法引用:使用特定對象的引用來調用其實例方法。這種引用方式適用于依賴于對象狀態的方法。實例方法引用的語法是
instance::instanceMethodName
。
- 特定類型的任意對象的實例方法引用:使用特定類型的引用來調用該類型任意對象的實例方法。這種引用方式適用于不依賴于對象狀態的方法,因為它們可以在沒有實例化的情況下被調用。特定類型的任意對象的實例方法引用的語法是
ClassName::instanceMethodName
。
- 構造方法引用:使用類名來引用類的構造方法。這種引用方式適用于創建類的實例。構造方法引用的語法是
ClassName::new
。
需要注意的是,方法引用只能用于函數式接口,因為函數式接口只有一個抽象方法,而方法引用實際上是對該抽象方法的引用。在使用方法引用時,需要確保引用的方法與函數式接口的抽象方法具有相同的簽名。