Tengo una clase base llamada Element. Algunas otras clases (como Etiqueta e Imagen) extienden esta clase.Métodos sobrecargados prioridad
ahora tengo una clase de despacho que tiene los siguientes métodos:
public class Dispatcher {
public static AbstractPropertyEditor<Label> createEditor(Label e) {
...
}
public static AbstractPropertyEditor<Element> createEditor(Element e) {
...
}
}
Si ahora tengo una instancia de etiqueta (que se extiende Element) y quiero pasarlo a createEditor()
, ¿por qué es el método más genérico (el segundo) llamado? ¿No sería normal que se llame al método más específico (createEditor(Label e)
)?
que tienen una necesidad imperiosa el método con el Elemento-param el fin de "atrapar" todas aquellas clases que a) poner en práctica elemento, pero no tienen su propio método específico en esta clase de despacho ..
estoy usando Java 6, ¿cómo "arreglar" esto?
Edit: De acuerdo, tengo que admitir que no es para nada genérico. Pero ahí es donde lo encontré la primera vez.
gracias y saludos
Tiene la instancia asignada a una variable de tipo 'Etiqueta' no' Elemento'? –
(y no de 'T extends Element' donde' T' pasa a ser 'Label'?) –