美文网首页
Java泛型(黑马程序员武汉中心)

Java泛型(黑马程序员武汉中心)

作者: 黑马程序员武汉校区 | 来源:发表于2019-08-27 16:10 被阅读0次

    Java泛型

    一、概述

    1、泛型含义

    Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。
    编译器提前规定好的类、接口、方法等需要的数据类型。
    

    2、泛型好处

    A.提前检查(运行时可能出现的类型转换异常,提前到编译时是否通过)
    B.简洁代码(不需要手动向下转型,快捷键直接提示出来类型)
    

    3、泛型分类

    A.泛型方法
    B.泛型类
    C.泛型接口
    D.泛型通配符(泛型上限和下限)
    

    二、常见的泛型案例

    1、泛型方法

    A.定义时

    修饰符 <泛型> 返回值  方法名称 (参数){ 方法体; return 返回值; }  //定义未知不具体类型
    

    B.使用时(调用方法)

     具体返回值类型  返回值 = 方法名称(具体参数);  //使用已知具体类型
    

    2、泛型类

    A.定义时

    修饰符 class 类名称<泛型>{ }   //定义未知不具体类型
    

    B.使用时(创建对象)

    类名称<具体类型> 对象名称 = new 类名称<具体类型>(); //使用已知具体类型
    

    3、泛型接口

    A.定义时

    修饰符 interface 接口名称<泛型>{ }
    

    B.使用时 (实现类或者创建实现类对象时候)

    第一种:修饰符 class 类名称<具体类型> implements 接口名称{ }   //使用已知具体类型
    第二种:类名称<具体类型> 对象名称 = new 类名称<具体类型>(); //使用已知具体类型
    

    4、泛型通配符

    A.含义:

    不知道使用什么数据类型的时候,泛型可以使用 ?
    

    B.格式:

    Collection<?>  可以传递各种泛型类型的对象 
    例如: 这些都可以传递 Collection<Object> Collection<String> Collection<Integer> 
    

    C.高级使用: (Number是Integer的父类)

    Collection<? extends Number>    只能接收 Number类型以及子类类型. (专业术语"泛型的上限")
    Collection<? super Number>      只能接收 Number类型以及父类类型. (专业术语"泛型的下限")     
    

    相关文章

      网友评论

          本文标题:Java泛型(黑马程序员武汉中心)

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