"检测到周期:类型b无法扩展/实现自身或其自身的成员类型之一"错误

时间:2015-03-29 15:55:09

标签: java

下面给出的以下示例我有2个接口a和b:

interface a { void x();}
interface b extends a {void y();}

现在我将上面的接口实现为类i和j。

class i implements a{
    void x(){
        //Some code;
    }
}

class j extends i implements b{
    void y(){
        //Some code;
    }
}

编译类j时,我收到错误"循环检测到:类型b无法扩展/实现自身或其自己的成员类型之一"。任何人都可以帮我理解这个问题。

1 个答案:

答案 0 :(得分:0)

在我看来,错误是由你声明类“j”引起的,通过扩展“i”同时还实现“b”,它们都是接口“a”的子代。

你的制作效果是这样的: “j extends i”通过继承使“j”成为“a”的实例; 当b是“a”的实例时,“j implements b”通过继承使“b”成为“b”的实例。 因此你的周期。