首页 > 代码库 > 泛型的表现形式
泛型的表现形式
泛型:
* 泛型是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可以用在属性和方法(可以用在方法的参数和返回值)上
泛型的表现形式