1.泛型类定义的时候要在类后面加上<类型>,例如

调用或者继承的时候要指定类型

public class Container<K, V> {

private K key;

private V value;

public Container( K k, V v )

{

key = k;        value = v;

}

public K getKey()

{

return(key);

}

public void setKey( K key )

{

this.key = key;

}

public V getValue()

{

return(value);

}

public void setValue( V value )

{

this.value = value;

}

}

2.泛型接口

和泛型类定义类似,形如

public interface Generator<T> {    public T next(); }

3.泛型方法

public class Main {

public static < T > void out( T...args ) /\* 可变参数 \*/

{

for ( T t : args )

{

System.out.println( t );

}

}

public static void main( String\[\] args )

{

out( "findingsea", 123, 11.11, true );

}

}

4.泛型通配符

类型通配符一般是使用 ? 代替具体的类型实参。注意了,此处是类型实参,而不是类型形参!且Box<?>在逻辑上是Box<Integer>、Box<Number>...等所有Box<具体类型实参>的父类。由此,我们依然可以定义泛型方法,来完成此类需求。代码如下

public class GenericTest {

public static void main( String\[\] args )

{

Box<String> name = new Box<String>( "corn" );

Box<Integer> age = new Box<Integer>( 712 );

Box<Number> number = new Box<Number>( 314 );

getData( name );

getData( age );

getData( number );

}

public static void getData( Box<?> data ) /\* 参数是具体类型的Box<...> \*/

{

System.out.println( "data :" + data.getData() );

}

}