A Queue- це інтерфейс, який означає, що ви не можете створити Queueбезпосередньо.
Найкращим варіантом є побудова від класу , який вже реалізує Queueінтерфейс, як один з наступних: AbstractQueue, ArrayBlockingQueue, ArrayDeque, ConcurrentLinkedQueue, DelayQueue, LinkedBlockingQueue, LinkedList, PriorityBlockingQueue, PriorityQueue, або SynchronousQueue.
Альтернативою є написання власного класу, який реалізує необхідний інтерфейс черги. Це не потрібно, за винятком тих рідкісних випадків, коли ви хочете зробити щось особливе, надаючи решту своєї програми а Queue.
public class MyQueue<T extends Tree> implements Queue<T> {
public T element() {
... your code to return an element goes here ...
}
public boolean offer(T element) {
... your code to accept a submission offer goes here ...
}
... etc ...
}
Ще менш вживаною альтернативою є побудова анонімного класу, який реалізується Queue. Напевно, ви не хочете цього робити, але це вказано як варіант для покриття всіх підстав.
new Queue<Tree>() {
public Tree element() {
...
};
public boolean offer(Tree element) {
...
};
...
};