A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© bin2015 中级黑马   /  2015-5-30 18:02  /  996 人查看  /  17 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 bin2015 于 2015-5-30 18:04 编辑

泛型: 泛型是jdk1.5出现的新特性。

泛型的好处:
         1. 可以把运行时出现的问题提前至编译时。
         2. 避免了无谓的强制类型转换。

判断一下那种写法是正确的:
         ArrayList<String>  list = new ArrayList<String>();  true
         ArrayList<Object>  list = new ArrayList<String>();  false
         ArrayList<String>  list = new ArrayList<Object>();  false
         
        为了新老系统的兼用性
         ArrayList   list = new ArrayList<String>();  true
         ArrayList<String>  list = new ArrayList();                        true
         

使用泛型要注意的事项:
         1. 泛型中没有多态的概念,左右两边的数据类型必须要一致,或者是只写一边的泛型。
推荐使用: 两边都写上同样数据类型的泛型。

自定义泛型:自定义泛型可以理解为是一个数据类型的变量或者是一个数据类型的占位符。
函数自定义泛型的格式:
      
        修饰符  <声明自定义泛型>        返回值类型   函数名(形参列表 ...){
        }
函数自定义泛型要注意的细节:
        1. 函数上自定义泛型的具体数据类型是在调用该函数的时候,传递实参数据的时候确定具体的数据类型 的。
        2. 自定义泛型使用的标识符可以自定义的,只要符合标识符的命名规则即可。但是一般自定义泛型使用的标识符都是单个字母而已。
        
泛型中是不能使用基本数据类型数据的,如果需要使用基本数据类型数据,那么就要使用基本数据类型对应 的包装类型
      
        int -----> Integer
        float---->Float
        double --- Double
        char -----> Character
        boolean ---- Boolean
        byte-----Byte
        short ---Short
        long ----- Long

自定义泛型类:
自定义泛型类的格式:

         class 类名<自定义的泛型>{
         }
泛型接口:
泛型接口的定义格式:
         interface 接口名<声明自定义的泛型>{
         }

泛型接口要注意的细节:
         1. 接口上自定义泛型的具体数据类型是在实现该接口的时候确定 的。
         2. 如果一个接口已经自定义了泛型,在实现该接口的时候没有指定自定义泛型的具体数据类型,那么默认为Object类型。
泛型类要注意的事项:
         1. 类上声明的自定义泛型的具体数据类型是在使用该类创建对象 的时候确定的。
         2. 如果一个类已经声明了自定义泛型,该类在创建对象的时候没有指定自定义泛型的具体数据类型,那么默认则为Object类型。
         3. 静态的方法不能使用类上声明的自定义泛型,如果需要使用自定义泛型只能在自己方法上声明。
泛型的通配符:
        ? super Integer  泛型的下限   只能用于Integer或者是Integer的父类类型数据
        ? extends Number  泛型的上限  只能用于Number或者是Number的子类类型数据。

17 个回复

倒序浏览
不错,支持一下
回复 使用道具 举报
膜拜大神!谢谢大家!
回复 使用道具 举报
今天刚好看到这个知识点,总结的好啊
回复 使用道具 举报
不错  学习了
回复 使用道具 举报
赞一个~\(≧▽≦)/~
回复 使用道具 举报
好样滴
回复 使用道具 举报
来学习了
回复 使用道具 举报
wuyusi 来自手机 中级黑马 2015-6-2 10:30:50
9#
楼主辛苦
回复 使用道具 举报
总结的很好,谢谢!
回复 使用道具 举报
学习,顶一个。
回复 使用道具 举报
学习了,谢谢
回复 使用道具 举报
支持下楼主。。。。
回复 使用道具 举报
看看,收藏了
回复 使用道具 举报
学习一下,刚好还要复习。。
回复 使用道具 举报
学习了!!赞一个
回复 使用道具 举报
很全面,不过感觉还是要自己多练习,才能真正理解。
回复 使用道具 举报
学习一下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马