- Предоставление фактических реализаций по умолчанию. Пример: iterator.remove ()
- Разрешение для эволюции JDK API. Пример: iterable.foreach ()
Код: Выделить всё
interface Sender {
// Convenience method to send an empty message
default final void send() {
send(null);
}
// Implementations should only implement this method
void send(String message);
}
Код: Выделить всё
abstract class Sender {
// Convenience method to send an empty message
final void send() {
send(null);
}
// Implementations should only implement this method
abstract void send(String message);
}
Другая часть заключается в том, как далеко мы займемся поддержкой инструментов по строительству класса
в интерфейсах, таких как конечные методы, частные методы, Защищенные методы
, статические методы и т. Д. Ответ: мы еще не знаем < /p>
< /blockquote>
С тех пор в конце 2011 года, очевидно,, очевидно, Была добавлена поддержка статических методов в интерфейсах. Очевидно, что это добавило большую ценность для самих библиотек JDK, например, с Comparator.comParing () .
Вопрос:
В чем причина Final (а также Static Final ) никогда не попал в интерфейсы Java 8?
Подробнее здесь: https://stackoverflow.com/questions/234 ... ce-methods