首页 > 代码库 > 泛型的表现形式

泛型的表现形式

泛型:
   *  泛型是java中的类型
   *  java.lang.Type可以代表java中的所有的类型
   *  泛型是被参数化的类型
        *  类型   --->Class
        *  被参数化-->Class类型可以传递参数
   *  泛型的存在的意义
        *  多态
            实际的类型和需要的类型有可能不匹配
            如果不匹配,则会报ClassCastException错误
        *  泛型可以在编译的时候告诉Class类型,传递的参数
           是什么类型,如果类型错误,则在编译的时候就会
           报错
   *  泛型所表现的形式
        *  ArrayList<T>
           *  ArrayList是Class类型
           *  ArrayList带一个参数为T,T是一个形参
           *  在创建ArrayList对象的时候,就可以决定实参
           *  表现:ArrayList<Person> a = new ArrayList<Person>();
                   这样实参为Person,这就意味着a集合中只能存放person
        *  public interface PersonDao<T>{

           }
           public class BaseDaoImpl<T>{

           }
           public class PersonDaoImpl extends BaseDaoImpl<Person> implements PersonDao<Person>{

           }
        *  public class Person<? extends Collection>传递的参数只能是集合的子类
    *  泛型的用法
        public class Person<T>{

        }
        该参数T可以用在属性和方法(可以用在方法的参数和返回值)上
       
技术分享

泛型的表现形式