我不明白为什么尝试覆盖下面的push方法时会出现编译器错误。

Eclipse中的确切输出错误是“名称冲突:stackImplementation类型的push(T)方法与stack类型的push(Object)具有相同的擦除,但不会覆盖它”

public interface stack<T> {
    T pop();
    void push(Object t);
}

public class stackImplementation<T> implements stack{

    private final Deque<T> deque = new ArrayDeque<T>();

    @Override
    public T pop() {
        return deque.removeFirst();
    }

    @Override
    public void push(T t) {
        deque.addFirst(t);
    }
}


谢谢!

最佳答案

您有2个错误:


推入接口使用Object,但应为T

void push(T t);
类实现stack,但应stack<T>

class stackImplementation<T> implements stack<T> {

10-07 19:20
查看更多