Java泛型学习笔记

来源:互联网 发布:淘宝食品打假 编辑:程序博客网 时间:2024/05/01 21:36

 

泛型

  • 泛型类的定义

    『访问权限』 class 类名称 <泛型类型1,泛型类型2,……,泛型类型3>{
    『访问权限』 泛型类型标识 变量名称 ;

    『访问权限』 泛型类型标识 方法名称(){};

    『访问权限』 返回值类型声明 方法名称( 泛型类型标识 变量名称 ){};

  • 泛型对象的定义

    类名称<具体类> 对象名称 =new 类名称<具体类> ();

  • 通配符 <?>

    只能接收任意类型的对象,不能对其进行修改

  • 受限泛型

    •  

        1.设置上限

        声明类:『访问权限』 class 类名称 <? extends >{}

        声明对象:类名称<extends > 对象名称 =new 类名称<extends > ();

        2.设置下限

        声明类:『访问权限』 class 类名称 <? super >{}

        声明对象:类名称<super > 对象名称 =new 类名称<super > ();

  • 泛型与子类继承的限制

    一个子类可以通过多态性,为其父类实例化。但是子类的泛型类型不能为父类的泛型类型实例化

    原因:子类的泛型不是父类泛型的子类

    例如:String object的子类

    因为有类声明Info<T>,明显 Info<String> 是一个类型,Info<Object>又是另外一种类型,两者毫无关系,不存在extends关系