泛型类、泛型方法、泛型接口的基本格式

来源:互联网 发布:欠淘宝贷款200万 编辑:程序博客网 时间:2024/06/07 20:49

1、泛型类:

class Gen<T>
2、创建泛型对象:

Gen<Integer> iob = new Gen<Integer>(88);
Gen<String> strob = new Gen<String>("Generics Test");
3、约束类型:

class Number<T extends Number>{}
4、通配符实参:

通配符实参由“?”表示,代表未知的类型。

boolean absEqual(Number<?> ob){}
5、约束通配符:

Gen<? extends superclass>{} //为通配符建立上层约束,只有superclass的子类是可接受的,包含superclass
Gen<? super subclass>{}  //为通配符建立下层约束,只有subclass的超类是可接受的实参,包含subclass
6、泛型方法:

<T> boolean equal(T a,T b){}
7、泛型构造函数:

<T extends Number>Summation(T arg){}
8、泛型接口:

interface Containment<T>
interface Containment<T extends Number>

9、类实现泛型接口:

class MyClass<T> implements Containment<T>{}  //任何实现泛型接口的类,其自身也必须是泛型的
 //MyClass类声明类型形参T,然后把T传递给Containment,因为Containment需要扩展Number的类型,所以MyClass类也必须指定相同的约束,因为在MyClass中已经建立了约束,就不需要在implements子句中再次指定它。下面的声明会报错

class MyClass<T extends Number> implements Containment<T>{} 
class MyClass<T extends Number> implements Containment<T extends Number>{}//  Wrong!!








原创粉丝点击