抽象基本クラスが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>。この呼び出しを行う正しい方法は何ですか?