抽象基本クラスがBaseClass
あり、その引数として期待される関数を作成すると、クラスのCollection<BaseClass>
を使用してその関数を呼び出すとコンパイルに失敗します。Collection<SubClass>
SubClass extends BaseClass
基本クラス:
public void addLots(Collection<BaseClass> collection) {
for(BaseClass yourbase : collection) {
us.add(yourbase) //what you say!!
}
}
そしてサブクラスで:
public void addMoreLots(Collection<SubClass> collection) {
addLots(collection); //FAILS TO COMPILE
}
Collection<SubClass>
これで、これがのサブクラスではない理由がわかったと思いますCollection<BaseClass>
。この呼び出しを行う正しい方法は何ですか?