Java 接口重写其他接口的方法
给定Java 接口重写其他接口的方法,java,interface,Java,Interface,给定 公共接口Crud{ 公众不能得到(); 公共T添加(字符串json); 公共T更新(字符串json); 公共T删除(字符串json); } 公共接口地址Crud扩展Crud{ 公共地址响应get(); 公共地址响应添加(字符串json); 公共地址响应更新(字符串json); 公共地址响应删除(字符串json); } 如果一个类实现了AddressCrud?我们需要实现4种方法还是8种方法 现在如果我们写: public interface Crud<T> {
公共接口Crud{
公众不能得到();
公共T添加(字符串json);
公共T更新(字符串json);
公共T删除(字符串json);
}
公共接口地址Crud扩展Crud{
公共地址响应get();
公共地址响应添加(字符串json);
公共地址响应更新(字符串json);
公共地址响应删除(字符串json);
}
如果一个类实现了AddressCrud?我们需要实现4种方法还是8种方法
现在如果我们写:
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);
}
公共接口地址Crud扩展Crud{
@凌驾
公共地址响应get();
@凌驾
公共地址响应添加(字符串json);
@凌驾
公共地址响应更新(字符串json);
@凌驾
公共地址响应删除(字符串json);
}
我知道@Override用于重写方法的实现,但是在接口的情况下@Override有意义吗
现在如果一个类在这种情况下实现了AddressCrud?我们需要实现4种方法还是8种方法
更新:有关您的信息:
我正在使用一个外部客户端,我需要为每个客户端声明接口。。我有几个外国客户。。。接口之间存在不同的注释。。这就是为什么我尝试创建一个名为Crud的公共接口的原因。您不需要在
AddressCrud
中声明任何方法。只需扩展Crud
就足够了。
这不是泛型的全部要点。
事实上,您甚至不需要声明AddressCrud
,只需让类实现Crud
。
在这两种情况下,您将只有4种方法来实现标记
@Override
在您的情况下是没有意义的。顺便说一句,AddressCrud
的实现类将实现4种方法。不,事实上这不是我的观点,因为我使用的是一个外部客户端,我需要为每个客户端声明几个接口。。。共享接口之间存在不同的注释。。这就是为什么我试图创建一个公共接口,因为接口的抽象方法被“覆盖”。。谢谢,您不需要在子接口中重新声明方法。只需在基本接口中声明它们。看见
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);
}