Java, когда мы наследуем один интерфейс от другого, и в дочернем хотим вызвать метод родительского, то мы должны писать не super.метод (как в классах), а ИмяРодительского.super.метод? Если так, то почему?
interface A {
default public void method(){
System.out.println("A");
}
}
interface B extends A {
default public void method(){
// не просто super.method();
A.super.method();
}
}
Из своих соображений, то потому что мы можем унаследовать еще 1 интерфейс с тем же методом, и компилятор уже не будет понимать, из какого родительского интерфейса метод я требую.
interface A {
default public void method(){
System.out.println("A");
}
}
interface C {
default public void method(){
System.out.println("C");
}
}
interface B extends A, C {
default public void method(){
// method() из С или A?
A.super.method();
}
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости