我想在一个封装3个接口(ICountable
)并使具体类实现这个封装接口。 `ICountable
代码:通用接口混乱
public interface ICountable extends IAddable, Cloneable, Serializable {}
Addable
接口定义是:
public interface IAddable<T> {
T add(T other);
}
现在,当我试图(抱怨在具体的类(BaseCounter
)我得到的是并不是所有的方法都是执行的错误来实现ICountable
在add
方法)。我不明白为什么。该BaseCounter
代码如下:
public class BaseCounter implements ICountable {
@Override
public BaseCounter add(BaseCounter other) {
// TODO Auto-generated method stub
return null;
}
}
变化add
方法签名
public ICountable add(ICountable other)
修复的情况。然而,我最初想要的是创建一个接口(ICountable
),它扩展了3个接口(2个标记和1个接口,描述了实现类对相同类型的对象执行add
的能力)。我需要为了使add
方法实施BaseCounter
改变什么看起来像这样:
public BaseCounter add(BaseCounter other)
我会感激你的建议。
谢谢,伙计!赶上upvote ... – aviad
你很好。您可以添加一些扩展到通用限制,即只能添加ICountable的限制:public interface ICountable扩展IAddable ,Cloneable,Serializable {}。在这种情况下,只有ICountable的实现可以被接受为泛型类型。 –
alexey28