La fonction main s'écrit généralement comme suit :
public static void main(String[] args){…}
Les fonctions de ces mots-clés sont expliquées ci-dessous :
(1) mot-clé public, c'est facile à comprendre Déclarer la fonction principale comme publique, c'est dire aux autres classes qu'elles peuvent. accéder à cette fonction.
(2) Le mot-clé static indique au compilateur que la fonction principale est une fonction statique. C'est-à-dire que le code de la fonction principale est stocké dans la zone de stockage statique, c'est-à-dire que ce code existe déjà après la définition de la classe. Si la méthode main() n'utilise pas le modificateur static, il n'y aura pas d'erreur de compilation, mais si vous essayez d'exécuter le programme, une erreur sera signalée, indiquant que la méthode main() n'existe pas. Étant donné que la classe contenant main() n’a pas été instanciée (c’est-à-dire qu’il n’y a aucun objet de cette classe), sa méthode main() n’existera pas. L'utilisation du modificateur static signifie que la méthode est statique et peut être utilisée sans instanciation.
(3) Le mot-clé void indique que la valeur de retour de main() n'est pas typée.
(4) Parameter String[] args, c'est l'objet de cet article.
Tout d'abord, les utilisateurs du programme peuvent transmettre des paramètres à une certaine classe dans l'état de ligne de commande.
Regardez l'exemple ci-dessous :
public class ArgsDemo { public static void main(String[] args) { String str = new String(); for (int i = 0; i 《 args.length; i++) { System.out.println(args[i]); str += args[i]; } System.out.println(str); } }
Utilisez la commande javac ArgsDemo.java pour générer le fichier ArgsDemo.class ; puis utilisez le format "java ArgsDemo paramètre un paramètre deux paramètre trois..." pour transmettre les paramètres au Classe ArgsDemo. Cet exemple de programme affichera d'abord les paramètres, puis affichera la somme de tous les paramètres. Par exemple, java ArgsDemo a b c, vous obtiendrez ce résultat :
a b c abc
Il est à noter que si la condition de boucle ici n'est pas i
Exception dans le fil “main” java.lang.ArrayIndexOutOfBoundException:3
at ArgsDemo.main(ArgsDemo.java:5)
Deuxièmement, vous pouvez ajouter main() à la classe dans une autre classe Pour passer des paramètres,
est la suivante :
public class A { public static void main(String[] args) { for(int i=0;i 《 p》 System.out.println(args[i]); } } public class B { public static void main(String[] args) { c = new A(); String[] b = {“111”,“222”,“333”}; c.main(b); } }
Définissez d'abord une classe A, définissez une fonction main() dans A et affichez le paramètre args dans cette fonction. Définissez ensuite une classe B, initialisez une instance c de A dans B, puis transmettez les paramètres à c et appelez la méthode principale de c pour imprimer les valeurs des paramètres transmises. Le résultat de sortie est le suivant :
111 222 333
Étant donné que la fonction main() est une fonction statique, elle peut être utilisée sans instanciation, donc B peut également compléter la même fonction en utilisant la méthode d'écriture suivante :
public class B { public static void main(String[] args) { //A c = new A(); String[] b = {“111”,“222”,“333”}; A.main(b); } }
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!