Самый близкий вопрос, который я нашел (Method Chaining: How to use getThis() trick in case of multi level inheritance), не имел прямого ответа на мою проблему. В настоящее время я использую морфию и создаю службу отдыха. Я видел много версий того, как это реализовать, и решил сделать это таким образом. Я полностью открыт для предложений, однако, научиться справляться с этой проблемой, поможет мне в практике кодирования, по крайней мере, я думаю, что так будет. Кроме того, я знаю, что мои правила именования могут быть выключены так коррекции в том, что я открыт как хорошо :)Java Multilevel Generic Inheritance
Вот мой код:
1st
/*****************************************************************************/
public interface BaseRepository <T extends BaseEntity> {
/* Methods Here */
}
public class BaseController<T extends BaseEntity> implements BaseRepository<T> {
public BaseController(Class<T> type) {
this.type = type;
}
/* Overridden Methods Here*/
}
2nd
/*****************************************************************************/
public interface UserRepository<T extends UserEntity> extends BaseRepository<UserEntity> {
/* Methods Here */
}
public class UserController<T extends UserEntity> extends BaseController<UserEntity> implements UserRepository<T> {
Class<T> type;
public UserController(Class<T> type) {
super(type); // <---- Error Here
this.type = type;
}
В конце концов, я хочу иметь StudentController, StaffController, и т.д. наследуются от UserController. И BaseController будет родителем для других контроллеров (а не для пользователей). Однако я не знал, как правильно это сделать. Я стараюсь, чтобы удовлетворить
public UserController(Class<T> type) {
super(type); // <---- Error Here
this.type = type;
}
замена «типа» в супер (типа) с UserEntity.class, однако, что бы только позволит Basecontroller вернуть свойства UserEntity. Любые решения? Если есть способ ... Как я уже сказал, я все еще участвую и полностью открыт к другим предложениям по подходу к этой проблеме или к любым советам в этой конкретной проблеме. Очень признателен! Спасибо :)
Я не знаю, почему я не сделал этого первым .... 1 символ. –
@MichaelVillar, потому что генераторы и их сообщения об ошибках используют немного. Первые пару лет меня часто путали, но это было недавно. ;) –
да, я все еще довольно новичок в этом, я ценю помощь! Благодаря! –