...継承されたメソッドを手動でオーバーライドできますか?非常に不完全なタイトルだ
public class A extends AbstractList
{
public boolean addAll(int index, Collection<E> what){}
}
が、Eclipseは
Name clash: The method addAll(int, Collection<E>) of type DynamicArray<E> has the same
erasure as addAll(int, Collection<? extends E>) of type AbstractList<E> but does not
override it
私にコンパイルエラーを与える私は、消去に問題が何であるかを理解し、私は、なぜaddAll(int, Collection<E>)
doesnのを理解していません継承されたメソッドをオーバーライドしません(両方が同じクラスに定義されていても、私はそれを見ることができますが、問題は: "メソッドが継承されたメソッドと同じ消去を持つ場合、継承されたメソッドをオーバーライドします。 1つは同じ消去があるので、動作しません ")。
コンパイラにをDynamicList.addAll(int, Collection<E>)
で上書きさせる方法はありますか?
閉じる私ができるようE.を拡張することはできませんと述べています(このルールは非常に難解ですが)、関数定義が元の関数へのアクセスを効果的にブロックするという苦情がありますが、元の関数へのすべての正当な呼び出しは受け付けられません。 –