Maison  >  Article  >  Java  >  Pourquoi Java génère-t-il une erreur « Type « vide » non autorisé ici » ?

Pourquoi Java génère-t-il une erreur « Type « vide » non autorisé ici » ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-17 13:33:01976parcourir

Why Does Java Throw a

Dévoilement du mystère derrière l'erreur « Type 'void' non autorisé ici"

La rencontre de l'erreur « Type vide non autorisé ici » peut être déroutant. Pour comprendre sa signification, examinons son contexte.

Considérez l'extrait de code ci-dessous :

class obj {
    public static void printPoint(Point p) {
        System.out.println("(" + p.x + ", " + p.y + ")");
    }

    public static void main(String[] arg) {
        Point blank = new Point(3, 4);
        // This line generates the error
        System.out.println(printPoint(blank));
    }
}

Lorsque vous essayez de compiler ce code, vous rencontrez le message d'erreur :

obj.java:12: 'void' type not allowed here
        System.out.println(printPoint(blank));
                                               ^
1 error

Qu'est-ce qui ne va pas ?

La racine de l'erreur réside dans la méthode printPoint. Sa déclaration précise qu'il renvoie void, ce qui signifie qu'il ne renvoie aucune valeur. Par conséquent, la tentative de la méthode principale d'imprimer la valeur de retour de printPoint (qui est void) entraîne l'erreur « type vide non autorisé ici ».

Que signifie le message d'erreur ?

Le message d'erreur indique clairement que le type de retour d'une méthode détermine ce qui peut être fait avec sa valeur de retour. Dans ce cas, puisque la méthode printPoint renvoie void, sa valeur de retour ne peut pas être imprimée à l'aide de System.out.println().

La solution

Pour remédier à ce problème , vous devez modifier votre code pour éliminer l'impression inutile de la valeur de retour printPoint. Au lieu de cela, vous devez appeler directement la méthode printPoint comme suit :

printPoint(blank);

Cela éliminera l'incompatibilité de type et permettra au code de se compiler et de s'exécuter correctement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn