У меня проблемы с ошибкой Java, в частности, с этой:
arrayqueue.ArrayQueue не является абстрактным и не переопределяет абстрактный метод dequeue() в arrayqueue.Queue в arrayqueue.ArrayQueue.(ArrayQueue.java:11)
Вот код, в котором возникает ошибка:
public class ArrayQueue<E> implements Queue<E> {
E [] Q;
int f,r;
int size;
static final int CAPACITY = 1000;
int capacity;
public ArrayQueue() {
this(CAPACITY);
}
public ArrayQueue(int cap){
capacity = cap;
Q = (E []) new Object[capacity];
f = 0;
r = 0;
size = 0;
}
public static void main(String[] args) {
}
}
Строка 11 будет следующей: public class ArrayQueue<E> implements Queue<E> {
В частности, я не понимаю, что означает <E>
в этой строке. Я пытаюсь реализовать очередь ADT, используя круговой массив. Очевидно, что это реализует интерфейс Queue, который я также еще не совсем понимаю в концепции интерфейса (почему Java не может быть похожа на Python!?)
Для справки я также разместил интерфейс Queue ниже:
public interface Queue<F> {
public int size();
public boolean isEmpty();
public F front() throws EmptyQueueException;
public void enqueue(F element);
public F dequeue() throws EmptyQueueException;
}
Я знаю, что это около 5 вопросов подряд, но концептуально это меня сбивает с толку. Я ценю любую помощь.
E
— это тип элемента в очереди, интерфейс подобен контракту, он определяет методы, необходимые в реализации, поэтому вам должно реализовыватьсяsize
,isEmpty
, ... из интерфейсаQueue
- person   schedule 20.10.2013