Я пытаюсь понять, как я могу преодолеть «алмазную проблему» в JAVA, скажем, у меня есть эти 3 интерфейса:
interface Alpha{
public default int methodA() {
int result=0;
System.out.println("Print from Alpha methodA");
return result+4;
}
}
//**********************************
interface Betta extends Alpha {
public default int methodA() {
int result=0;
System.out.println("Print from Betta methodA");
return result+8;
}
}
//*******************************
interface Gamma extends Alpha {
public default int methodA() {
int result=0;
System.out.println("Print from Gamma methodA");
return result+16;
}
}
И этот класс:
public class Delta implements Betta,Gamma {
public static void main(String args[]) {
// TODO Auto-generated method stub
Delta cObj=new Delta();
cObj.methodA();
}
как я могу получить класс Delta, дающий мне вывод интерфейса Alpha? Есть ли другой способ, кроме как изменить его на «Дельта реализует альфа-канал»?
static
в интерфейсе Alpha и вызвать его из класса Delta. - person SachinSarawgi   schedule 03.01.2017