我有三个班。B从A延伸,C从B延伸。在那种情况下,我得到了一个重复的方法错误。我怎样才能避免这个错误?
我需要这两个顶级水平,我不想将它们组合在一个类中。
public abstract class A<T extends AbstractBaseEntity> implements Serializable {
protected T update(final T entity) {
final EntityManager entityMgr = getEntityManager();
final T result = entityMgr.merge(entity);
entityMgr.flush();
entityMgr.refresh(result);
return result;
}
}
public abstract class B <T extends AbstractEntity> extends A<AbstractEntity> {
public B() {
super();
}
protected T update(final T entity) {
// Some other validations
return (T) super.update(entity);
}
}
public class C extends B<AbstractEntity> {
public C() {
super();
}
}
PS:AbstractEntity 扩展了 AbstractBaseEntity