Aşağıdaki gibi alt sınıf oluşturmak istediğim jenerikleştirilmiş bir sınıfım var:Java: Genelleştirilmiş bir sınıfı alt sınıflara ayırma
public class SomeTable<T extends BaseTableEntry>
extends BaseTable<T>
{
public SomeTable(int rows, int cols)
{
super(rows, cols, SomeTableEntry.class);
//Does not compile:
//Cannot find symbol: constructor BaseTable(int, int, java.lang.Class<blah.blah.SomeTableEntry.class>)
}
}
... burada genelleştirilmiş süper sınıf:
public class BaseTable<T extends BaseTableEntry>
{
public BaseTable(int rows, int cols, Class<T> clasz)
{
...
}
...
}
Derleyici hatasını anlıyorum, ancak bir geçici çözüm bulamıyor gibi görünmüyor SomeTable
yapıcısında ek bir parametre eklemekten başka.
Herhangi bir öneriniz var mı?
Teşekkürler!
alt sınıf da genel olması gerekir? Veya SomeTable, BaseTable genişletebilir mi? –
Thilo
Hayır, 'SomeTable'ın genelleştirilmiş olması gerekmez, 'publicTable genişletir publicTable publicTable' fine. –
bguiz