Это пример двух объявлений констант inter
и intr
в интерфейсах. Это не шаблон, и я бы не сказал, что это хорошая практика.
Interface1
и Interface2
не имеют смысла: они не дополняют / не реализуют расширяемые ими интерфейсы. По сути, они являются держателями констант, которые могли быть определены где-то еще. Обратите внимание, что константы привязаны к определенным классам, в то время как интерфейсы несут более широкий смысл, обеспечивают общий интерфейс.
Имена inter
и intr
ужасны и не говорятчто эти константы представляют / делают.
Более оправданный пример будет выглядеть как
interface TestInterface {
void doFirst();
void doSecond();
TestInterface EMPTY = new TestInterface() {
@Override
public void doFirst() {}
@Override
public void doSecond() {}
};
}
, где EMPTY
говорит о том, что это реализация по умолчанию (и пустая)интерфейс. Обратите внимание, что я назвал это EMPTY
(не empty
), потому что это всегда поле public static final
.