ジェネリッククラス「SimpleList」(抜粋)があります。
public abstract class SimpleList<T> {
protected List<T> list;
public SimpleList(List<T> list) {
this.list = list;
}
}
そしてそれを拡張する別のクラス「TrackList」(抜粋):
public class TrackList extends SimpleList {
public TrackList(List<XmlTrack> list) {
super(list);
}
}
「TrackList」では、リストが「XmlTrack」タイプのオブジェクトを保持することを指定します。ただし、そのリストからオブジェクトを取得してそのメソッドにアクセスすることはできないようです。たとえば、これは機能しません。
list.get(0).someMethodSpecificToXmlTrack()
なぜこれが機能しないのか分かりませんか?「SimpleList」のリストは「XmlTrack」のみを保持するように設定されていませんか?