XSD tarafından oluşturulan beton sınıflarına arabirimler tanıtmak istiyorum. Önce çalışma versiyonu görmek gerekir:AspectJ ITD Genel Yöntem Parametre Kırıkları Derleme
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;
}
O sürüm çalışır ama yöntem bildirimleri için generic'leri taşırsanız öyle değil:
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;
}
hata iletisi: Booking.java:144 [error] The type Booking must implement the inherited abstract method IBooking.setChargesList(T)
İlginç kısım, getChargesList()
yöntemi için hata vermez.
Bunun nedeni ne olabilir?
Kitap sınıfında ilgili kısmı aşağıdaki gibi olur:
public BookingChargeList getChargesList() {
return chargesList;
}
public void setChargesList(BookingChargeList value) {
this.chargesList = value;
}
Lütfen rezervasyon sınıfının kaynak kodunun ilgili kısmını, özellikle 'getChargesList()' ve 'setChargesList()' yöntemlerinin beyanını ekleyin. –
@ NándorElődFekete Ekledim. – GokcenG