java泛型

来源:互联网 发布:java acl访问控制列表 编辑:程序博客网 时间:2024/06/05 15:10

什么是泛型
1、指定多个泛型类型class Person< T,V>
泛型的安全警告
2、在申明时指定泛型的类型,如果没指定就会在编译时出现警告,但仍然可以执行,因为没指定类型就都是Object类型
Person < String,Integer>p =new Person< String,Integer>();
Person p =new Person();
3、泛型与子类继承的限制(在泛型中不能用父类来接受子类)
4、泛型通配符(一般用在参数传递时)
public void fun( Person< ?,?> p){//?为通配符
5、受限泛型
public void fun(Person < ? extends Number > p)
?就只能是Number的子类或Number
public void fun(Person < ? super String> p)
?就只能是String的父类或自己

泛型接口
泛型接口定义

interface info< T >{    public T getVar}

泛型接口实现的两种方式
1、在子类实例化时指定类型
class infoImpl< T>implements info{
}
2、在接口被继承时,直接指明类型
class infoImpl implements info< String>{
}

泛型方法
1、定义泛型方法

package cn.java;

public class GenericsDemo3 {

public static void main(String[] args) {    GenericsFun gf = new GenericsFun();    System.out.print(gf.test("haoren"));    System.out.print(gf.test(12));}

}

class GenericsFun{
public T test(T t){
return t;
}
}

0 0