泛型
泛型是程序设计语言的一种技术,泛化技术可以将程序中的数据进行参数化,能减少代码复写的同时,还使程序设计能够更加抽象,即:不需要事先确定好数据的类型。这一优点在实现参数任意化时,能帮助程序员避免多数因类型转换而出错误的情况。
小结
泛型类
①泛型类中同样可以使用内置及自定义的数据类型。
②在创建实例对象时绑定数据类型。
③在泛型类中,类型参数的继承关系并不能迁移到泛型类中。(涉及类型擦除)
泛型接口
①用普通类实现泛型接口时,需指定接口的类型参数。
②用泛型类实现泛型接口时,该类的类型参数必须大于等于接口的泛型参数,且其中包含与接口同名的类型参数。
泛型方法
①调用泛型方法时,编译器能自动推导出参数的类型,故使用方法与普通函数一样。
②值得一提的是,要想使用编译器的自动推导,方法的参数列表和返回值,需使用类型参数。
③泛型方法的类型参数,其作用域仅限于方法体内,即:在方法体外,不能参与其他变量和方法的定义。
通配符
假设有一个类A,如果希望用一个通用的引用来指代各种A<T>的对象,则可以使用通配符“?”,即:A<?>,可以将其看作所有A泛型类的父类。
泛型参数的限制
假设有一个类A,<? extends A>用来限制类型参数的上限,表示类型参数可以是A及其子类。
<? super A>用来限制类型参数的下限,表示类型参数可以是A及其父类。