接口重写另一个接口的方法

时间:2019-01-28 03:43:56

标签: java interface

给定

   public interface Crud<T> {
        public T get();
        public T add(String json);
        public T update(String json);
        public T delete(String json);
    }

   public interface AddressCrud extends Crud<AddressResponse> {
        public AddressResponse get();
        public AddressResponse add(String json);
        public AddressResponse update(String json);
        public AddressResponse delete(String json);
    }

如果一个类实现了AddressCrud?我们必须实现4种方法还是8种方法?

现在,如果我们写:

   public interface AddressCrud extends Crud<AddressResponse> {
        @Override
        public AddressResponse get();
        @Override
        public AddressResponse add(String json);
        @Override 
        public AddressResponse update(String json);
        @Override
        public AddressResponse delete(String json);
    }

我知道@Override用于重写方法的实现,但是在接口的情况下@Override有意义吗?

现在,如果在这种情况下,一个类实现了AddressCrud?我们必须实现4种方法还是8种方法?

更新:供您参考: 我使用的是伪客户端,我需要为每个客户端声明接口..我有几个伪客户端...接口之间存在注释不同..这就是为什么我要创建一个称为Crud的通用接口的原因

2 个答案:

答案 0 :(得分:1)

您不需要在AddressCrud中声明任何方法。仅扩展Crud<AddressResponse>就足够了。 这不是泛型的全部要点。 实际上,您甚至不需要声明AddressCrud,只需使类实现Crud<AddressResponse>。 无论哪种情况,您只有4种方法可以实现

答案 1 :(得分:0)

标签@Override对您而言毫无意义。顺便说一句,AddressCrud的实现类将为4种方法实现。