我有一个扩展 HashSet 类的 myHashSet 类。myHashSet 覆盖 HashSet 的 add() 和 addAll() 方法。所以我有以下代码片段:
class MyHashSet<E> extends HashSet<E> {
@Override
public boolean add(E e){
return super.add(e);
}
@Override
public boolean addAll(Collection ? extends E> c){
return super.addAll(c);
}
}
我知道,addAll 方法是通过 add() 实现的,这意味着它使用 add() 方法。所以,如果我调用 MyHashSet 的 addAll(),它应该调用 HashSet 的 addAll(),而后者又应该调用 HashSet 的 add()。但是为什么当我调用 MyHashSet 的 addAll() 时它调用 MyHashSet 的 add()?
我在这里很困惑,对不起,如果这个问题很愚蠢。