我不明白为什么当我尝试重写下面的推送方法时会收到编译器错误。
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 个错误:
推送接口(interface)使用
Object
,但应该是T
:void push(T t);
类实现
stack
,但应该stack<T>
:class stackImplementation<T> implements stack<T> {
关于尝试重写父类(super class)接口(interface)时,Java 编译器出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29178990/