Considere as seguintes classes genéricas escritas em Java:
class Base<T> {
void m( int x ) {}
void m( T t ) {}
void m( String s ) {}
<N extends Number> void m( N n ) {}
void m(SingleLinkQueue<?> q ) {}
}
class Derived<T> extends Base<T> {
void m(Integer i ) {}
void m(Object t) {}
void m(Number n) {}
}
Considerando os conceitos de sobrecarga de métodos, herança e tipos genéricos, os três métodos na classe Derived são, respectivamente