18.9 Genéricos y herencia: observaciones

Los genéricos pueden utilizarse con la herencia de varias formas:

Una clase genérica puede derivarse de una clase no genérica. Por ejemplo, la clase 

Object

 es una super-

clase directa o indirecta de toda clase genérica.
Una clase genérica puede derivarse de otra clase genérica. Por ejemplo, la clase genérica 

Stack

 (en el 

paquete

java.util

) es una subclase de la clase genérica 

Vector

 (en el paquete 

java.util

). En el capí-

tulo 19, Colecciones, hablaremos sobre estas clases. 
Una clase no genérica puede derivarse de una clase genérica. Por ejemplo, la clase no genérica 

Proper-

ties

 (en el paquete 

java.util

) es una subclase de la clase genérica 

Hashtable

 (en el paquete 

java.

util

). También veremos estas clases en el capítulo 19.

Por último, un método genérico en una subclase puede sobrescribir a un método genérico en una super-
clase, si ambos métodos tienen las mismas fi rmas.

18.10 Conclusión

En este capítulo se presentaron los genéricos. Usted aprendió a declarar métodos genéricos y clases genéricas. 
Aprendió cómo se logra la compatibilidad inversa mediante tipos crudos. También aprendió a utilizar comodines 
en un método genérico o en una clase genérica. En el siguiente capítulo demostraremos las interfaces, clases y 
algoritmos del marco de trabajo de colecciones de Java. Como veremos, todas las colecciones que se presentarán 
utilizan las capacidades genéricas que vimos en este capítulo.

18.11 Recursos en Internet y Web

www.jcp.org/aboutJava/communityprocess/review/jsr014/

Página de descarga del Proceso comunitario de Java, para el documento de la especifi cación de genéricos 

Adding Gene-

rics to the Java Programming Language: Public Draft Specifi cation, Version 2.0.

www.angelikalanger.com/GenericsFAQ/JavaGenericsFAQ.html

Una colección de preguntas frecuentes acerca de los genéricos en Java.

java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf

El tutorial 

Generics in the Java Programming Language por Gilad Bracha (el líder de la especifi cación para JSR-14 y 

revisor de este libro) introduce los conceptos de los genéricos, con fragmentos de código de ejemplo.

today.java.net/pub/a/today/2003/12/02/explorations.html

today.java.net/pub/a/today/2004/01/15/wildcards.html

Los artículos 

Explorations: Generics, Erasure, and Bridging y Explorations: Wildcards in the Generics Specifi cation, cada 

uno por William Grosso, presentan las generalidades acerca de las características de los genéricos, y cómo utilizar los 
comodines.

18.11 Recursos en Internet y Web 

787

Figura 18.15

  |  Programa de prueba de comodines. (Parte 2 de 2).

listaEnteros contiene: [1, 2, 3, 4, 5]
Total de los elementos en listaEnteros: 15

listaDouble contiene: [1.1, 3.3, 5.5]
Total de los elementos en listaDouble: 9.9

listaNumeros contiene: [1, 2.4, 3, 4.1]
Total de los elementos en listaNumeros: 10.5

 54  

 

// calcula la suma

55   

for

 ( Number elemento : lista )

 

56    

total += elemento.doubleValue();

 57 
 58  

 

return

 total;

 59  

}

// fin del método sumar

60

}

// fin de la clase PruebaComodin

18_MAQ_CAP_18_DEITEL.indd787

4/19/081:30:52AM