java在DAO模式中使用泛型
// Domain Class
public class Actor {
private int id;
private String firstName;
private String lastName;
private Date lastUpdate;
// getters and setters
}
// DAO Interface
public interface IDao<T> {
void save(T t);
}
// Concrete Class
public class ActorDao implements IDao {
@Override
public void save(Actor actor) {
// Error: The method save(Actor) of type ActorDao must override or implement a supertype method
}
}
当IDao
的参数为T
时,为什么被重写的save()
不接受Actor
# 1 楼答案
您需要指定T是什么类,如下所示: