EDITAR: Voy a dejar esto aquí como un ejemplo. Lea los comentarios para obtener más información, pero en general: ¡NO USE ESTE DISEÑO! ¡Es malo!Java - Anulación de tipo de objeto Parámetro con tipo de hormigón
busqué una respuesta desde hace un tiempo, pero no hemos podido encontrar nada dicho muy específica, no se puede porque ... o sí se puede así es como lo haces ..
Así que la pregunta es, ¿Puedo crear un método abstracto que define los parámetros de tipo de objeto y luego tener algo ponerlo en práctica con un tipo concreto de parámetro de la siguiente manera:
public abstract class ToBeOverriden {
public Object method1 (Object parameter);
public String method2 (Object parameter);
public void method3 (Object parameter);
}
y luego anularlo con esto:
public class Implementation {
@Override
public DateTime method1 (Person parameter){
return new DateTime();
}
@Override
public String method2 (MotorCycle parameter){
return new DateTime();
}
@Override
public void method3 (String parameter){
return new DateTime();
}
}
Donde Persona es un objeto creado por mí. El tipo de devolución puede ser lo que sea. Actualmente no puedo hacer esto. No me deja. Creo que esto se debe a que mi clase no extiende Object. Aunque todo se extiende Objeto ... Entonces ...
¿O debo actualizar mi conocimiento de Java? :)
EDITAR: Agregó una estructura de clase más compleja.
Gracias!
El * E * no es obligatorio, solo * V * es necesario. –
@AmirPashazadeh Tienes razón, no pensaste en eso. Actualizado mi respuesta. – bezmax
¿Qué sucede si tiene más de un tipo de parámetro/tipo de devolución? ¿Qué será E entonces? – Hannibal