Java 我可以手动重写继承的方法吗?

Java 我可以手动重写继承的方法吗?,java,generics,signature,overwrite,Java,Generics,Signature,Overwrite,这是一个非常不完美的标题 public class A extends AbstractList { public boolean addAll(int index, Collection<E> what){} } public类A扩展了抽象列表 { 公共布尔addAll(int索引,集合what){} } 但是Eclipse给了我编译错误 Name clash: The method addAll(int, Collection<E>) of type Dyn

这是一个非常不完美的标题

public class A extends AbstractList
{
   public boolean addAll(int index, Collection<E> what){}
}
public类A扩展了抽象列表
{
公共布尔addAll(int索引,集合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
Name clash:DynamicArray类型的addAll(int,Collection)方法具有相同的

擦除为addAll(int,Collection您需要提供与要重写的方法完全相同的签名:

 public boolean addAll(int index, Collection<? extends E> what)

public boolean addAll(int-index,Collection具体地说,就是原始的
addAll(int,CollectionClose),我可以理解它(其规则相当神秘),抱怨是您的函数定义有效地阻止了对原始函数的访问,但它不会接受(编译时没有类型冲突)所有的法律要求都是原件。