I have:
public class A implements BListener {
public interface AListener {}
}
public class B implements AListener {
public interface BListener {}
}
So, if I understand correctly the cyclic inheritance happens because:
The compiler goes to A and says "hey, A implements BListener, let's go find BListener!"
Then when it tries to find BListener, it eventually gets to B, which it says:
"Hey, BListener, needed for A is inside B! BUT WAIT! B needs AListener! Let's go find AListener!"
And then it gets to A, repeat. Did I get this right?
By the way, this compilation error happened to me on Android development.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…