[Java] Qu'est-ce que Public static void main (String [] args)?

Ceux qui utilisent Java verront certainement ** public static void main (String [] args) **.

C'est une méthode nécessaire à exécuter.

Cependant, si vous faites une erreur dans l'un d'entre eux, une erreur se produira. Pourquoi?

Je suis curieux, alors j'aimerais le présenter aux mêmes débutants à l'avenir.

■ Comprenons d'abord le sens

Hello.java


class Hello{
    public static void main(String[] args) {
        System.out.println("Hello World");        
    }
}

Et le contenu est comme ça.

Étonnamment ** la statique est également importante pour comprendre les instances ** alors rappelons-nous (commandement)

article sens
public Peut être référencé de n'importe où(Modificateur d'accès)
static L'instance est possible(new)Peut être utilisé de l'extérieur sans
void Aucune valeur de retour
main Nom de la méthode
String[] Recevoir des arguments sous forme de tableau de type String
args Abréviation des arguments au pluriel du nom de l'argument et de l'argument (traduction japonaise: argument)

Qui sont les args?

String [] args est la valeur (argument de la ligne de commande) spécifiée au démarrage du programme.

Le nom d'argument args est habituellement utilisé comme args, mais vous pouvez utiliser un autre nom. La raison pour laquelle args est habituellement utilisé est que Java est le successeur du langage C et hérite de la convention du langage C telle qu'elle est.

Qu'est-ce que la statique?

La méthode principale nécessite un modificateur statique. Mais pourquoi tu ne penses pas?

Cela nécessite généralement ** la création d'une instance de la classe avec new si vous souhaitez utiliser les méthodes de la classe **. (C'est un problème dont trop de gens ne se souviennent pas des débutants)

SubClass sub = new SubClass();
sub.main(new String[] {"Hello SubClass!"});

Cependant, le modificateur static vous permet d'accéder à la méthode sans l'instancier avec new.

SubClass.main(new String[] {"Hello SubClass!"});

Cela signifie que l'exécution de la commande java ne crée pas d'instance de la classe principale, donc la méthode principale en cours d'exécution doit avoir le modificateur static.

J'ai besoin de ça pour l'exécuter pour le moment

  1. Le nom de la méthode est main
  2. Un tableau avec des arguments de type String (arguments de longueur variable)
  3. Le modificateur statique est ajouté

Tenter d'exécuter une commande java sur une classe qui ne remplit pas cette condition échouera comme suit.


Erreur:La méthode principale est introuvable dans la classe HelloWorld. Définissez la méthode principale comme suit:
   public static void main(String[] args)

En outre, si la valeur de retour est définie sur autre chose que void, l'erreur suivante se produit.

Erreur:La méthode main doit retourner une valeur de type void dans la classe HelloWorld.
Définissez la méthode principale comme suit:
   public static void main(String[] args)

Recommended Posts

[Java] Qu'est-ce que Public static void main (String [] args)?
[Java] Signification de public static void main (String [] args)
[Java] Qu'est-ce que Public static void main (String [] args)?
Qu'est-ce que 'java
Qu'est-ce que Java <>?
Quelle est la méthode principale en Java?
Qu'est-ce que 'java
Qu'est-ce que l'encapsulation Java?
Qu'est-ce que Java API-java
[Java] Qu'est-ce que flatMap?
[Java] Qu'est-ce que ArrayList?
Qu'est-ce que l'assertion Java? Résumé.
Qu'est-ce qu'une collection Java?
[Java] Qu'est-ce que jaee j2ee?
[Java] Qu'est-ce que l'héritage de classe?
[Notions de base Java] Qu'est-ce que la classe?
Qu'est-ce que l'analyse Java Escape?
Qu'est-ce que JVM (Java Virtual Machine)?
Qu'est-ce que Thread Safe (avec Java)
[Java] Qu'est-ce que l'exception de modification simultanée?
Qu'est-ce qu'une expression lambda (Java)
Qu'est-ce qu'une classe en langage Java (3 /?)
Quelle est la meilleure lecture de fichier (Java)
Qu'est-ce qu'une classe en langage Java (1 /?)
Qu'est-ce que Java et l'environnement de développement (MAC)
Qu'est-ce qu'une classe en langage Java (2 /?)
Java statique
Quel est le modificateur volatile pour les variables Java?
Vérifier le comportement statique et public dans les méthodes Java