ho difficoltà a capire il modo di interpretare java interfaccia eredità, ad esempio:Interfaccia di successione - cambiando i parametri del metodo
public interface Model {
Model getModel();
void setModel(Model model);
}
public class BaseModel implements Model {
@Override
public BaseModel getModel() { return null; } // works
@Override
public void setModel(BaseModel model) {} // compilation error, it wants Model instead of BaseModel
}
Qualcuno potrebbe spiegare perché il primo metodo funziona, e la seconda non lo fa?