Java (泛型)

泛型:

概念:不确定数据类型,减少重写的麻烦使程序更加通用(传入值和返回值都以Object类型为主)。 

[类修饰词] class类名 <类型参数>  [extends父类名]  [implements接口名 ] {  类体}

①、 泛型+类:class qingke{ }  // 表示类中可以有泛型,但必须是泛型T,Q。其他的都不行。

②、泛型+变量:private Q q ;  // 表示 q的类型Q(不确定数据类型)

③、泛型+方法:public Q say ( Q say) { }              publicT say(T t ) {  // 在方法返回值或者在类名声明了<泛型>即可使用。

④、ArrayList list = new ArrayList();

list.add(15) ; list.add("sdf") ; list.add(0.2) ; list.add(new Date());

String  sum = (String) list.get(1);

String  sum = (String) list.get(3) ; 这样做虽然不报错,但是实际上是错误的。

因此引入泛型。

⑤、 GenericFoo(  string ){  }  //设置了类型的上限是Animals类型。

GenericFoo(  string ){  }  //设置了类型的下限是Animals类型(父类)。

GenericFoo  //设置类型是泛型。

⑥、指定的数据类型。< String >


2 . 通配符:

表示未指定的类型,java会自动将其当作最顶层的Object类,所以它和等效。

表示泛型T指代Student类及继承它的子类、子类的子类......

表示泛型T指代Student类及它的父类、父类的父类......

你可能感兴趣的:(Java (泛型))