私は大学のこのプロジェクトに取り組んでいます。私はここで何か間違っていると思います。私はJavaのサブクラス化とクラス継承を十分に理解していないと思います。スーパークラスのArrayListをとるコンストラクタにサブクラスのArrayListを渡しますか?
私はこの小さな形で私の問題を書き直しました。少しの言葉で
class SuperClass {
int dunno;
public SuperClass(int dunno) {
this.dunno = dunno;
}
}
class SubClass extends SuperClass {
int duncare;
public SubClass(int dunno, int duncare) {
super(dunno);
this.duncare = duncare;
}
}
class VeryBigClass {
ArrayList<SuperClass> superList;
public VeryBigClass(ArrayList<SuperClass> superList) {
this.superList = superList;
}
}
public void main(String[] args) {
new VeryBigClass(new ArrayList<SubClass>()); // this is the problematic line
}
}
私は1つの、より一般的なクラスを拡張するクラスの多くを書き、多くの場所で私の代わりに1でサブクラス1のそれぞれの治療のため、スーパークラス(一般的なもの)で業務を行っています同じやり方で。
しかし、私は必要なクラスのインスタンスを作成できません。コンストラクタは引数としてスーパークラスを取るためです。 new VeryBigClass(new (ArrayList<SuperClass>)ArrayList<SubClass>());
は明らかに間違っているので、私はそれをキャストする方法も知らない。さらに、これらのインスタンスの構築は、ある時点でjsonライブラリによって処理されるので、私はむしろそのような面白いものをしたくないでしょう...
しかし、あなたは理由を説明しないでください! –