Java 9: Урок 4: Приватные методы в интерфейсах

preview_player
Показать описание
Cкидки до 22-го января на все курсы всего за 9.99:
Каждый купон расчитан на 10 покупок, спешите!
Новый курс по Photoshop:

HIBERNATE:
JPA:
HTML + CSS:
MAVEN:
GIT:
KOTLIN
SQL:
IDEA
Паттерны Java:
Java EE:
Английский язык:
JAVA:
Apache Spark:
Рекомендации по теме
Комментарии
Автор

это шаги к множественому наследованию, это даст возможность интерфейсу иметь логику, а приватность поможет эту логику скрыть или не дать переопределить

bvpanchenko
Автор

простой пример зачем нужны в интерфейсах приватные методы
public interface DBLogging {
default void logInfo(String message) {
log(message, "INFO");
}

default void logWarn(String message) {
log(message, "WARN");
}

default void logError(String message) {
log(message, "ERROR");
}

default void logFatal(String message) {
log(message, "FATAL");
}

private void log(String message, String msgPrefix) {
// Step 1: Connect to DataStore
// Step 2: Log Message with Prefix and styles etc.
// Step 3: Close the DataStore connection
}
// Any other abstract, static, default methods
}

avgustares
Автор

Вообще, после добавления в Java 8 дефолтных методов в интерфейсы, уже стал немного напрашиваться вопрос, почему бы не сделать тогда множественное наследование? Ну просто решать его тем же способом - если у множества предков, которыми расширяется класс, имеются повторяющиеся методы, то просто данный класс должен как-то переопределить повторяющийся метод.

global_silence
Автор

На*уя в интерфейсах приватные методы, спрашивается?

JG-evch
Автор

Приватные методы исключительно для дефолтного метода получается

ИванМельников-зз