Je développe une petite application de bureau dans Netbeans. Ceci est mon premier programme et je suis confronté à un type d'erreur très étrange. Je sais que j'ai fait quelque chose de mal mais que je ne peux pas retracer ce que je fais mal :(
Veuillez m'aider à résoudre cette erreur.
Description: J'ai un package par défaut Src
et je crée de nouvelles classes Java dans ce package selon les besoins. Avec d'autres classes, j'ai créé une classe X
comme cette:
public class X
{
public class Y
{//some member functions and variables exist here}
public class Z
{//some member functions and variables exist here}
//some member functions and variables exist here
}
Maintenant, je dois créer une instance de l'une des classes internes dans une autre classe qui existe dans le même package, comme ceci:
public X.Y oY = new X.Y();
mais j'obtiens l'erreur suivante:
une instance englobante contenant X.Y est requise
Veuillez m'aider à résoudre cette erreur.
Tout d'abord, vous devez créer un objet de classe X (classe externe), puis utiliser la syntaxe objX.new InnerClass()
pour créer un objet de classe Y.
Essayer,
X x=new X();
X.Y y=x.new Y();
Vous souhaitez déclarer des classes internes statiques: public static class Y
.
Déclarez Y comme statique pour éviter de créer une instance de X.
public class X
{
public static class Y {
}
}