标签:泛型的使用
自jdk1.6之后泛型就被广泛使用了,刚开始也是这么稀里糊涂的学了但是老是搞不懂其中的奥妙,后来随着项目经验的增多慢慢的才体会到了泛型的各种好处,看了不少项目封装的底层才发现原来泛型一般和接口混合使用来满足标准制定和参数多样化这样的代码需求。弄清楚之后我自己也动手实际体验了一下,觉得还是挺简单的。接下来就分享下我学泛型的心得,写的不好大家可以指出来。
1 标识接口
虽然叫标识接口但是这个java类不仅仅局限于interface,class也是OK的,选择接口还是类关键看自己的选择;下面是我定义的一个标识接口
package org.lxh;
public interface BaseInfo {
}
2 把接口和泛型混合使用制定一个比较通用的接口
package org.lxh;
public interface IGenericManager<E extends BaseInfo>{
public void save(E info);
public void del(E info);
public void update(E info);
public void findAll(E info);
public void findById(int id);
}
3 通用接口如何与其他java代码进行结合
package org.lxh;
public interface UserManager extends IGenericManager<UserInfo>{
}
4 普通接口的实现类
package org.lxh;
public class UserManagerImpl implements UserManager{
public void save(UserInfo info) {
// TODO Auto-generated method stub
}
public void del(UserInfo info) {
// TODO Auto-generated method stub
}
public void update(UserInfo info) {
// TODO Auto-generated method stub
}
public void findAll(UserInfo info) {
// TODO Auto-generated method stub
}
public void findById(int id) {
// TODO Auto-generated method stub
}
}
5 关于pojo类
既然泛型是为参数的多样化服务,那么pojo类自然应实现标识接口或标识类
package org.lxh;
public class UserInfo implements BaseInfo{
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
标签:泛型的使用
原文地址:http://blog.csdn.net/smartcodekm/article/details/37077157