12-3 泛型 ---- 举例泛型类和泛型方法的体现
Customer:
package java2;
//此类对应数据库中的customers表
public class Customer {
}
CustomerDAO:
package java2;
//只能操作某一个表的DAO
public class CustomerDAO extends DAO<Customer>{
}
Student:
package java2;
public class Student {
}
StudentDAO:
package java2;
//只能操作某一个表的DAO
public class StudentDAO extends DAO<Student> {
}
DAO:
package java2;
import java.util.List;
//DAO:data(base) access object---》数据访问对象
public class DAO<T> {//表的共性操作的DAO
//添加一条记录
public void add(T t) {
}
//删除一条记录
public boolean remove(int index) {
return false;
}
//修改一条记录
public void update(int index, T t) {
}
//查询一条记录
public T getIndex(int index) {
return null;
}
//查询多条记录
public List<T> getForList(int index) {
return null;
}
//泛型方法
//举例:获取表中一共有多少条记录?获取最大的员工入职时间?
public <E> E getValue() {
return null;
}
}
DAOTest:
package java2;
import org.junit.Test;
import java.util.List;
public class DAOTest {
@Test
public void test1(){
CustomerDAO dao1 = new CustomerDAO();
dao1.add(new Customer());
List<Customer> list = dao1.getForList(10);
StudentDAO dao2 = new StudentDAO();
dao2.add(new Student());
}
}