我有一個DAO
對象,我通常與實體類名擴展,像這樣:擴展一個通用的實施者類
public class DAO<T> {
private final Class<T> clazz;
public DAO(Class<T> clazz {
this.clazz = clazz;
}
}
public class EntityDAO extends DAO<Entity> {
public EntityDAO() {
super(Entity.class);
}
}
不過,我有一些我想創建一個抽象的DAO抽象實體這被落實到具體的類以後:
public class DAO<T> {
private final Class<T> clazz;
public DAO(Class<T> clazz {
this.clazz = clazz;
}
}
public abstract class AbstractEntityDAO extends DAO<T extends AbstractEntity> {
public AbstractEntityDAO() {
super(AbstractEntity.class);
}
}
public abstract class EntityDAO extends AbstractEntityDAO <Entity> {
public EntityDAO() {
super(Entity.class);
}
}
但是,這並不工作,爲AbstractEntityDAO
抱怨意想不到的束縛,它無法解決T.是否有可能做到這一點?如果是這樣,它是怎麼寫的?
這是用Java 1.7
謝謝你,我知道我錯過了一些東西! – Draken