Ein generischer Typ ist ebenfalls ein Referenztyp, der jedoch ein oder
mehrere Typparameter besitzt. Die folgenden Ableitungsregeln für eine normale
Klassendeklaration verdeutlichen, an welcher Stelle Typparamter vorgesehen
sind (siehe Java Language Specification
ClassModifiers_opt class Identifier TypeParameters_opt Super_opt Interfaces_opt ClassBody TypeParamters: < TypeParamterList > TypeParamterList: TypeParamter TypeParamterList , TypeParamter Nach dem Schlüsselwort public class Holder<E> { ... } public class Holder2<K,V> { ... } Es wurde jeweils der Klassenmodifikator Listing 3.2. /* * Holder.java * JDK 5 * */ public class Holder<E> { private E value; public void set(E v) { value = v; } public E get() { return value; } } Das nächste Beispiel definiert einen generischen Typ mit zwei Typparametern,
um zwei beliebige Referenztypen aufnehmen bzw. wieder abfragen zu können. Mit der
Methode Listing 3.3. /* * Holder2.java * JDK 5 * */ public class Holder2<K,V> { private K key; private V value; public void set(K k, V v) { key = k; value = v; } public K getKey() { return key; } public V getValue() { return value; } } |
|