本文共 647 字,大约阅读时间需要 2 分钟。
最近学习了一下泛型的相关知识,觉得这里面有很多需要钻研的地方,下面就泛型类和泛型方法的实例场景详细讨论一下!
刚开始学习泛型,肯定基本上和集合脱不开关系,因为集合基本都是使用泛型结构的,那么有没有不是集合使用泛型的具体场景呢?
有的,下面以DAO来举例
什么叫DAO,全称是 Data Access Object 数据访问对象,里面定义的是对数据库的基本操作(CRUD)
但是数据库中的一张表对应于Java中的一个具体的类,这种思想叫做ORM(Object Relational Mapping)对象关系映射. 当我们想要对某一张表进行操作时,事先需要在Java中定义对应的表结构 以 Customer表为例 在Java中创建对应的类 之所以要在DAO类加泛型,是因为类的数量繁多,事先不知道对哪张表进行CRUD,所以加个泛型之后可以再创建一个CustomerDao类 这个类是专门用来对Customer表进行操作的
问题来了:既然DAO类已经加了泛型 那我们在调用时直接指明Customer不就可以了,为什么还要大费周章地再创建一个呢?
因为DAO类定义的只是最基本地CRUD,没办法满足用户的各种需求,在CustomerDao表中使用DAO中的基本操作实现更为复杂的操作(如 按姓名删除指定的行)
所以CustomerDao表就需要继承DAO表 ,这个时候 泛型的作用又体现出来了
我们在继承的时候直接指定具体的类,这样继承来的方法就只是和Customer类相关的,而不是Object类型转载地址:http://gzhgn.baihongyu.com/