“Ne peut pas instancier le type...”
Lorsque j'essaie d'exécuter ce code:
import java.io.*;
import java.util.*;
public class TwoColor
{
public static void main(String[] args)
{
Queue<Edge> theQueue = new Queue<Edge>();
}
public class Edge
{
//u and v are the vertices that make up this edge.
private int u;
private int v;
//Constructor method
public Edge(int newu, int newv)
{
u = newu;
v = newv;
}
}
}
J'obtiens cette erreur:
Exception in thread "main" java.lang.Erreur: non résolu problème de compilation: Ne peut pas instancier le type de File d'attente au TwoColor.principale(TwoColor.java:8)
Je ne comprends pas pourquoi je ne peux pas instancier la classe... Il me semble bon pour moi...
- double possible de Impossible d'instancier la Liste type<Produit>
Vous devez vous connecter pour publier un commentaire.
java.util.Queue
est une interface de sorte que vous ne peut pas instancier directement. Vous pouvez créer une instance d'une sous-classe concrète, commeLinkedList
:La file d'attente est une Interface de sorte que vous ne pouvez pas le lancer directement. Le lancer par l'un de ses mise en œuvre de classes.
De la documentation tous connu la mise en œuvre de classes:
Vous pouvez utiliser l'un des ci-dessus en fonction de votre exigence pour lancer un objet File.
File d'attente est un Interface pas une classe.
Vous essayez d'instancier une interface, vous devez donner le béton de classe que vous souhaitez utiliser c'est à dire
Queue<Edge> theQueue = new LinkedBlockingQueue<Edge>();
.Vous pouvez utiliser
ou
Raison: la File d'attente est une interface. De sorte que vous pouvez instancier seulement ses sous-classe concrète.