我不明白为什么尝试覆盖下面的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> {