В Java 8 включена новая функция методы Defender, которая позволяет создавать реализацию по умолчанию в интерфейсе.
Теперь, в первую очередь, это огромный сдвиг парадигмы для всех сжатых программистов на Java. Я рассмотрел презентацию JavaOne 13, данную Brain Goetz, где он обсуждал новые реализации stream()
и parallelStream()
в библиотеке Collections.
Для добавления новых методов в интерфейс Collection
они не могли бы просто добавить новый метод, не нарушая предыдущие версии. Поэтому он сказал, что для общественного питания была добавлена новая функция методов по умолчанию.
public interface SimpleInterface {
public void doSomeWork();
//A default method in the interface created using "default" keyword
default public void doSomeOtherWork(){
System.out.println("DoSomeOtherWork implementation in the interface");
}
}
Теперь мой вопрос в основном заключается в том, что методы по умолчанию просто полезны, когда необходимо добавлять новые методы для взаимодействия без нарушения кода клиента? Или есть некоторые другие возможности для этого?