No enclosing instance of type is accessible
Résolu/Fermé
A voir également:
- No enclosing instance of type is accessible. must qualify the allocation
- No enclosing instance of type is accessible. must qualify the allocation with an enclosing instance of type - Meilleures réponses
- Java no enclosing instance of type is accessible - Meilleures réponses
- What is my movie français - Télécharger - Divers TV & Vidéo
- No tftp response ✓ - Forum Mobile
- Input signal out of range ✓ - Forum Matériel & Système
- Hajime no ippo vf - Forum Cinéma / Télé
- Incompatibilité de type vba ✓ - Forum Programmation
9 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
9 févr. 2014 à 19:21
9 févr. 2014 à 19:21
Le problème c'est que tu as fait
Or cela n'est pas possible, car les objets de B doivent dépendre des objets de A.
Il faudrait faire :
Or dans ton cas c'est impossible car A est une classe abstraite ! Il faudrait donc utiliser une implémentation de A, mais les seules implémentations que tu as c'est B...
Première solution, tu considères que la classe B est static, elle ne dépend donc plus des objets de A mais de la classe, il n'est donc plus nécessaire d'instancier un objet A.
Deuxième solution, qui est à mon avis la meilleure dans ton cas, tu ne fais pas de classes internes, mais tu mets chaque classe dans son propre fichier.
public class A { public class B { } } B b = new B();
Or cela n'est pas possible, car les objets de B doivent dépendre des objets de A.
Il faudrait faire :
A a = new A(); B b = a.new B();
Or dans ton cas c'est impossible car A est une classe abstraite ! Il faudrait donc utiliser une implémentation de A, mais les seules implémentations que tu as c'est B...
Première solution, tu considères que la classe B est static, elle ne dépend donc plus des objets de A mais de la classe, il n'est donc plus nécessaire d'instancier un objet A.
public class A { public static class B { } } A.B b = new A.B();
Deuxième solution, qui est à mon avis la meilleure dans ton cas, tu ne fais pas de classes internes, mais tu mets chaque classe dans son propre fichier.
public class A { } public class B { } B b = new B();