我有:
public class A implements BListener {
public interface AListener {}
}
public class B implements AListener {
public interface BListener {}
}
因此,如果我理解正确,则会发生循环继承,原因是:
编译器转到A并说:“嘿,A实现了BListener,让我们去查找BListener!”
然后,当它尝试找到BListener时,最终到达B,它说:
“嘿,B侦听器,A所需的B侦听器在B内!但是等待!B的侦听器需要A!我们去寻找AListener!”
然后到达A,重复一次。我说对了吗?
顺便说一下,这个编译错误发生在我的Android开发中。
可能有助于将其绘制出来。
>A
is part of / \ inherits
V
AListener BListener
^
inherits \ / is part of
B<
一个可爱的圈子。如果没有其他一个,则无法创建其中一个。
编译器是一只多动症的松鼠吗?
不,因为松鼠不会停下来(直到咖啡因耗尽)。编译器将对此进行查找,然后放弃。
注意:Eclipse有一个错误,该错误允许此设置。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句