在這里你可以看到我不能傳遞那個字串引數
我不知何故學會了如何在同一個類中傳遞一個方法,但是當我想從另一個類呼叫它時,我無法傳遞引數。
uj5u.com熱心網友回復:
這里有幾個問題:
- 該
introduceMyself方法接受一個高階函式,但在它的使用中,您似乎不需要方法本身,而是它的結果。我建議用getName引數替換name引數并將其轉換為常規字串,該字串將通過呼叫所述方法在外部提供。 - 在第 6 行,您有一個語法錯誤。由于您使用的是實體 -
person,因此您可以將 :: 替換為 . 像這樣:person.myNameIs("michael")。它不起作用,因為 :: 傳遞了您并不真正想要的方法本身。同樣,您的代碼暗示您需要傳遞方法的結果而不是方法本身。
最后,您可以傳遞高階函式,但不能“帶引數”傳遞它們。您可以做以下三件事之一:
- 在本地呼叫 HOF 并傳遞呼叫結果
- 傳遞 HOF 和引數,并在需要的任何地方呼叫它們。
- 傳遞 HOF 并讓目標傳遞它選擇的任何引數。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/481954.html
