给定
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 用于覆盖方法的实现,但在接口(interface)的情况下 @Override 有意义吗?
现在如果一个类在这种情况下实现 AddressCrud 呢?我们必须实现 4 种方法还是 8 种方法?
更新:供您引用: 我正在使用假装客户端,我需要为每个客户端声明接口(interface)。我有几个假装客户端......接口(interface)之间有不同的注释。这就是为什么我试图制作一个我称之为 Crud 的通用接口(interface)
最佳答案
您不需要在 AddressCrud
中声明任何方法.只需扩展 Crud<AddressResponse>
就足够了.
这不是泛型的重点。
事实上,您甚至不需要声明 AddressCrud
, 你可以让类实现 Crud<AddressResponse>
.
无论哪种情况,您都只有 4 个方法可以实现
关于java - 接口(interface)覆盖另一个接口(interface)的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54395284/