说我们有以下界面:

interface Addable {
    Addable add (Addable element);
}

现在,我想声明两个类,例如MyListMyArray,它们实现了上述接口。我该怎么做,但是要阻止将MyArray对象添加到MyList中,反之亦然?

有没有if语句和instanceof的方法吗?

最佳答案

interface Addable<T extends Addable<T>> {
    T add (T element);
}

class MyList  implements Addable<MyList> {
    public MyList add(MyList element) {
        return null;
    }
}

class MyArray   implements Addable<MyArray> {
    public MyArray add(MyArray element) {
        return null;
    }
}

09-11 10:26