tengo un método, en una clase llamada "PlaceParser" que extends
"ModelParser":Java: método de anulación o sobrecarga?
protected Place parseModel(JSONObject element) ...
Un lugar es una subclase del modelo. ¿Se debe agregar la anotación @Override
al código anterior? Como el método tiene un tipo de devolución diferente, ¿esto todavía cuenta como anulación del método de clase base con el mismo nombre y argumentos/el tipo de devolución altera la 'firma'?
El método "ModelParser" se parece a esto "ModelT" se extiende también "Modelo":
protected abstract ModelT parseModel(JSONObject element)
throws JSONException;
actualización @ Jon Skeet: clase
La base está declarada como esto:
public abstract class ModelParser<ModelT extends Model> {
No había visto ninguna <ModelT extends Model>
declaración de estilo para una clase anterior.
Ver http://stackoverflow.com/questions/1882584/what-is-a-covariant-return-type. (No * exactamente * su caso, porque 'Place' no extiende' ModelT'.) –
@Eli: sospecho que Place realmente extiende el ModelT, de lo contrario este código no se compilaría. (O ModelT es un parámetro de tipo genérico ...) –
@Jon: He actualizado la pregunta. Le agradecería mucho que me explicara la relación entre 'ModelT' y' Place'. – Mikaveli