Я хочу представить интерфейсы для классов, созданных XSD. Сначала мне нужно показать рабочую версию:AspectJ ITD Общий метод Параметр Разрывы Компиляция
public interface IBooking<T extends IChargeList> {
T getChargesList();
void setChargesList(T value);
}
public aspect IntertypeDeclarationAspect {
declare parents:Booking implements IBooking<BookingChargeList>;
declare parents:BookingChargeList implements IChargeList;
}
Эта версия работает, но если я перееду дженерики в объявлении метода он не делает:
public interface IBooking {
<T extends IChargeList> T getChargesList();
<T extends IChargeList> void setChargesList(T value);
}
public aspect IntertypeDeclarationAspect {
declare parents:Booking implements IBooking;
declare parents:BookingChargeList implements IChargeList;
}
Сообщение об ошибке: Booking.java:144 [error] The type Booking must implement the inherited abstract method IBooking.setChargesList(T)
Интересная часть не дает ошибки для метода getChargesList()
.
Что может быть причиной этого?
Родственный часть в классе бронирования, как это:
public BookingChargeList getChargesList() {
return chargesList;
}
public void setChargesList(BookingChargeList value) {
this.chargesList = value;
}
Пожалуйста, добавьте соответствующую часть исходного кода класса бронирования, в частности объявление методов 'getChargesList()' и 'setChargesList()'. –
@ NándorElődFekete Я добавил. – GokcenG