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.

Respuestas a la pregunta(2)

Su respuesta a la pregunta