Le type A est déjà défini erreur

J’ai essayé de chercher la solution, mais ce que j’ai trouvé, je ne sais pas comment l’appliquer dans cette situation. S’il vous plaît aidez-moi à corriger mon code.

package Exercise; public class Ex11_11 { public static void main(Ssortingng[] args) { A a = new A(3); } } class A extends B { // type A is already defined, A has a red underline public A (int t) { System.out.println("A's constructor is invoked"); } } class B { // type B is already defined, B has a red underline public B () { System.out.println("B's constructor is invoked"); } } 

La première chose à vérifier est évidemment de savoir si vous avez ou non une autre classe appelée A dans votre fichier ou dans le même package.

Eclipse est parfois confus. Si vous choisissez Clean dans le menu Project , cela peut résoudre ces erreurs.

J’ai eu le même problème. Mon ordinateur a été redémarré à distance par le service informatique, et Eclipse ne s’est pas éteint sans problème. J’ai remarqué qu’il y avait un fichier java supplémentaire dans mon projet que je n’ai pas ajouté. Supprimé, et maintenant l’erreur est partie.

Vérifiez si tous vos fichiers de classe sont enregistrés. J’ai eu ce problème plusieurs fois: je définis une classe dans un fichier de classe, puis je la déplace dans son propre fichier. Java est configuré car il lit l’ancienne version du fichier d’origine. Une fois que vous enregistrez avec la définition de classe manquante et définissez la classe dans le nouveau fichier, tout devrait bien se passer.

Dans votre projet, vous pouvez avoir un répertoire de test avec la même structure de package et le même nom de classe (par exemple copié sans changer le nom de la classe en * Test).

Dans Projet-> Nettoyer, sélectionnez “Nettoyer les projets sélectionnés ci-dessous”, sélectionnez mon (mes) projet (s) et cochez la case “Démarrer immédiatement la construction” avec “Construire uniquement les projets sélectionnés”.

Alors le problème sera résolu.

La raison principale en est que quelque part dans le même package, vous avez déjà défini une classe avec le nom A. qui cause le type A est déjà une erreur définie.

vérifie s’il existe une sous-classe ou une classe interne nommée A