先给大家普及一个概念(在后面的也会有),其实在以后的开发中我们开发一个项目最基本的目的是将数据库中的数据显示到客户端或者客户端可以将数据录入数据库实现数据的交互,那么数据库分为关系型数据库(比如mysql)和非关系型数据库(redis), 关系型数据库是由表组成的,一张数据表一.般保存一类信息,那么张数据表在Java中就对应一个简单Java类(vo类),而且我们会定义一个接口来规范操作这张数据表的实现类开发。
DEMO:观察代码



以上定义了一个操作部门数据的接口,如果要操作雇员信息的应该再为雇员定义一个接口
DEMO:操作雇员信息的接口


发现了以上的只有接口的名称以及每个方法的参数类型不- -样,方法的名称以及形式都是一样的,如果有一百张数据表就意味着要定义一百个这样的接口。此时就出现了代码重复的现象,最好的做法是使用一个接口实现多张数据表的数据操作。要实现这样的操作需要使用泛型接口。之前每个接口只能操作- -种类型的数据,现在使用泛型接口之后,把要操作的数据类型使用占位符标记,具体使用接口的时候再根据需求指定泛型的类型。
DEMO:定义泛型接口


DEMO:在实现类中指定泛型类型





DEMO:在实现类中继续使用泛型,之后再实例化实现类对象的时候才指定具体的占位符的类型




其实上在实现类的时候指定出具体的泛型就够了,以上的做法是为了给大家描述出泛型接口的使用另外的方式。
DEMO:在接口继承接口的时候指定出具体的泛型类型
以上我们直接使用实现类去实现IBaseDAO,其实上IBaseDAO接口是一个父接口( 公共的接口),那么如果实现类需要有自己特有的方法(还要扩充新的方法),那么还是离不开子接口,所以我们还要使用子接口去继承父接口(IBaseDAO)




1、在定义一个接口的时候如果某些类型不能确定,那么就使用占位符标记,在具体使用的时候再指定泛型的类型。
2、接口的泛型常用的使用方式:
直接在实现类中指定泛型的具体类型
在实现类中继续使用泛型,在实例化实现类对象的时候指定泛型的具体类型
在接口继承接口中指定泛型的具体类型。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69985551/viewspace-2750648/ ,如需转载,请注明出处,否则将追究法律责任。