具体的には、次のような Java エラーで問題が発生しています。
arrayqueue.ArrayQueue は抽象的ではなく、arrayqueue.ArrayQueue.(ArrayQueue.java:11) で arrayqueue.Queue の抽象メソッド dequeue() をオーバーライドしません。
エラーが発生しているコードは次のとおりです。
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 つの質問が連続していることはわかっていますが、概念的には混乱を招きます。助けていただければ幸いです。