博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用泛型类和泛型方法的实例情景
阅读量:3935 次
发布时间:2019-05-23

本文共 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/

你可能感兴趣的文章
嵌入式开发 CMake的使用和交叉编译器的配置方法
查看>>
eclipse导入Cmake工程
查看>>
VMware 虚拟机安装Ubuntu 16.04
查看>>
Ubuntu虚拟机安装VMware Tools,实现主机和虚拟机之间自由复制
查看>>
Ubuntu清理旧内核
查看>>
Ubuntu环境下Minicom的安装使用方法
查看>>
Ubuntu 64位系统运行ARM 32位交叉编译器提示找不到文件
查看>>
嵌入式 QT 4.8.5 中文支持
查看>>
ubuntu 缺少Libpython2.6.so.1.0的解决办法
查看>>
Ubuntu 开启root用户登录
查看>>
C 求最小公倍数算法
查看>>
Ubuntu16.04升级 Ubuntu18.04
查看>>
开发板挂载 ubuntu18.04系统下的 nfs根文件系统失败
查看>>
cmake 判断操作系统平台
查看>>
VIM 编码格式 显示乱码
查看>>
Uboot Makefile 中 $(origin variable)详解
查看>>
BMP 文件格式的详解
查看>>
9针串口引脚定义
查看>>
QT4 QWebView的使用
查看>>
QT QWebView/QWebEngineView使用
查看>>