11.泛型

作者: 星野君 | 来源:发表于2022-04-28 12:01 被阅读0次

    泛型的好处

    1. 避免了类型强转的麻烦。
    2. 它提供了编译期的类型安全,确保在泛型类型(通常为泛型集合)上只能使用正确类型的对象,避免了在运行时出现ClassCastException。

    泛型的语法

    interface 接口名<T>{}
    class 类名<T,K>{}
    
    ArrayList<Object> objects = new ArrayList<>();
    
    1. 泛型类型只能是引用类型
    2. 给泛型指定具体类型后,可以传入该类型或者其子类类型

    一、自定义泛型

    class 类名<T,K>{
    成员
    }
    
    1. 普通成员可以使用泛型(属性,方法)
    2. 使用泛型的数组不能初始化
    3. 静态方法不能使用类的泛型
    4. 泛型的类型,是在创建对象时确定的
    5. 如果创建对象没有指定泛型,默认为object

    二、自定义泛型接口

    interface 接口名<T>{}
    
    1. 接口中,静态成员也不能使用泛型
    2. 泛型接口的类型,在实现接口时确定
    3. 没有指定类型,默认为object

    三、自定义泛型方法

    修饰符 <T,K> 返回类型 方法名(参数){}
    
    1. 泛型方法可以定义在普通类或者泛型类中
    2. 当泛型类被调用时,类型将被确定

    四、泛型的继承和通配符

    1. 泛型不具有继承性
    2. <?> 支持任意泛型类型
    3. <? extends A> 支持A类以及A类的子类,规定了泛型的上限
    4. <? super A> 支持A类以及A类的子类,规定了泛型的下限

    相关文章

      网友评论

          本文标题:11.泛型

          本文链接:https://www.haomeiwen.com/subject/nxjssrtx.html