Пример Java: Почему функция в этом примере W3Schools будет выполняться, когда она не определена?JAVA

Программисты JAVA общаются здесь
Anonymous
Пример Java: Почему функция в этом примере W3Schools будет выполняться, когда она не определена?

Сообщение Anonymous »

Вот проблема, вы можете найти его в W3Schools Lambda Expressions Глава Последний пример: < /p>
interface StringFunction {
String run(String str);
}

public class Main {
public static void main(String[] args) {
StringFunction exclaim = (s) -> s + "!";
StringFunction ask = (s) -> s + "?";
printFormatted("Hello", exclaim);
printFormatted("Hello", ask);
}
public static void printFormatted(String str, StringFunction format) {
String result = format.run(str);
System.out.println(result);
}
}
< /code>
Так, насколько я понимаю, код здесь не определяет функцию '.run ()' в интерфейсе 'StringFunction', в нем указаны только параметры. Поэтому главная путаница здесь заключается в том, что «run ()» может по какой-то причине работать без какого-либо определения, поэтому, если это не встроенная функция Java, пожалуйста, кто-нибудь объясните мне, почему и как это возможно. Тот факт, что «stringfunction» может использоваться в качестве класса для «восклицания» и «ask», также очень запутанно без какого -либо определения.>

Подробнее здесь: https://stackoverflow.com/questions/794 ... -is-not-de

Вернуться в «JAVA»