use*_*672 3 java generics methods extends interface
我想在接口中声明一个方法,其中实现类中定义的方法的参数可以是特定java类的子类型,例如:
interface Processor{
processRequest( Request r);
}
public class SpecialRequest extends Request{...}
public class SpecialProcessor implements Processor{
processRequest(SpecialRequest r){...}
}
Run Code Online (Sandbox Code Playgroud)
但我在SpecialProcessor中遇到错误,因为它没有正确实现Processor接口.我可以在Processor接口中更改什么以允许SpecialProcessor中的定义工作?
你可以输入Processor:
public interface Processor<R extends Request> {
void processRequest(R r);
}
public class SpecialProcessor implements Processor<SpecialRequest> {
public void processRequest(SpecialRequest r) {
...
}
}
Run Code Online (Sandbox Code Playgroud)