Herencia cíclica e interfaces: la clase A no puede implementar la interfaz de clase B mientras que la clase B implementa la interfaz A
Yo tengo:
public class A implements BListener {
public interface AListener {}
}
public class B implements AListener {
public interface BListener {}
}
Entonces, si entiendo correctamente, la herencia cíclica ocurre porque:
El compilador va aA y dice"oye, A implementa BListener, ¡vamos a buscar BListener!"
Luego, cuando trata de encontrar BListener, finalmente llega aB, que dice:
"¡Oye, BListener, necesito que A esté dentro de B! ¡PERO ESPERA! ¡B necesita AListener! ¡Vamos a buscar AListener!"
Y luego llega a A, repite. ¿Lo entendí bien?
Por cierto, este error de compilación me sucedió en el desarrollo de Android.