Quelle est la méthode principale en Java?

introduction

Ceci est un article pour organiser les informations par les débutants Java. Nous vous serions reconnaissants de bien vouloir indiquer les corrections ou informations supplémentaires qui devraient être incluses.

Quelle est la méthode principale

public static void main(String[]args){
//statement
}

・ Méthodes définies sous cette forme dans de nombreux cas (les modèles d'exception sont décrits plus loin dans l'article) Dans la déclaration,

  1. Instruction d'exécution de variable
  2. Instruction de formule
  3. Déclaration d'exécution de l'instruction Écrivez diverses phrases telles que. Chaque phrase est traitée dans l'ordre du haut.

-Méthode (point d'entrée) qui est le ** point de départ ** des programmes Java C'est le premier point à référencer lors du démarrage d'un programme Java. Puisque la méthode main est le point de départ, les méthodes définies dans d'autres classes ne seront exécutées que si elles sont appelées dans la méthode main.

De plus, si la méthode principale n'existe pas, vous obtiendrez une erreur comme celle-ci:

Exception in thread "main" java.lang.NoSuchMethodError: main

Décomposer la méthode principale

modificateur public

Le modificateur public est un modificateur qui permet l'accès à partir de toutes les classes. La méthode principale est le point de départ du programme Java, et il est nécessaire d'ajouter le modificateur public en supposant l'accès à partir de différentes classes.

static Le nom générique des champs et des méthodes avec le mot clé static est appelé ** membre statique **. Parmi eux, la méthode avec le mot-clé static est appelée ** méthode statique (méthode de classe) **. En d'autres termes, la méthode principale est une méthode statique.

La méthode statique présente les trois caractéristiques suivantes.

  1. La méthode elle-même appartient à la classe
  2. L'alter ego de la méthode est défini dans l'instance
  3. Peut être appelé sans créer d'instance

Ici, les trois caractéristiques sont importantes. La méthode principale étant le point de départ du programme Java, il est possible qu'aucune instance n'ait été créée dans l'espace virtuel Java au moment du démarrage. Pour gérer cette situation, la méthode principale doit avoir le mot-clé static.

Comme contenu supplémentaire, il n'est pas nécessaire d'ajouter le mot clé static car la méthode décrite dans une autre classe et décrite une fois l'objet créé n'a pas besoin d'être appelée au démarrage du programme. Ce sera. void Indique que cette méthode ne renvoie pas de valeur de retour.

main Nom de la méthode. L'identifiant référencé par la JVM. String[]args La règle ici est que vous devez spécifier un tableau de type String ou un argument de longueur variable de type String. (Je n'ai pas pu trouver la raison, alors je vais la mettre en attente) Par conséquent, la partie d'arguments qui correspond à l'argument peut être modifiée. Cependant, il semble qu'il existe de nombreux cas où les arguments sont généralement utilisés.

Précautions lors de l'utilisation de la méthode principale

D'après la description jusqu'à présent, il s'avère que la méthode principale est une méthode spéciale. Voici un modèle auquel vous devez faire attention lorsque vous l'utilisez.


public class Cleric {

	String name = "Yudai";
	int hp = 50;
	final int maxHp = 50;
	int mp = 30;
	final int maxMp = 30;

	public static void main(String[] args) {
	  //TODO talon de méthode généré automatiquement
	  Cleric cleric = new Cleric();
	  cleric.selfAid();
	}

	public void selfAid() {
	  System.out.println(this.name + "Chanté "auto-guérison"!");
	  this.mp -= 5;
	  this.hp = this.maxHp;
	  System.out.println("HP a récupéré au maximum!");
	}

De cette façon, il s'agit d'un modèle dans lequel la méthode principale et une autre méthode (ici, la méthode selfAid coexistent) dans une classe. Ici, la méthode principale est décrite dans la classe Cleric, mais comme la méthode principale est en fait la méthode qui est le point de départ de chaque classe, elle n'a rien à voir avec la classe Cleric. Cependant, sous cette forme, la méthode principale ressemble à une méthode liée à la classe Cleric, ce qui peut être source de confusion lorsque la quantité de code augmente. .. Donc, comme solution de contournement, je pense qu'il est sûr de générer une classe indépendante (par exemple, la classe Main) et de la préparer en tant que classe qui n'exécute que la méthode principale.

De plus, en complément, il est bon de se rappeler que vous écrivez essentiellement du code dans une classe pour un fichier.

Comment écrire diverses méthodes principales


public static void main(String args[]) { }
public static void main(String...args) { }
public strictfp static void main(String[]args) { }
public static void main(final String[]args) { }
final static synchronized strictfp void main(final String[]args) { }

Merci beaucoup. c'est tout.

[Référence] ・ "Introduction à Java compréhensible, 3e édition" [URL de référence] ・ [Introduction à Java] Explication de la méthode principale, de ses arguments (args) et de la valeur de retour  https://www.sejuku.net/blog/65082 -Explication de la méthode main () de Java  https://www.codeflow.site/ja/article/java-main-method ・ Relation entre la méthode principale et la classe  https://www.javadrive.jp/start/about/index4.html -La méthode de la classe qui est appelée en premier  https://www.javadrive.jp/start/const/index3.html ・ [Je veux le tenir fermement] Quelle est la méthode principale de Java? Et comment utiliser  https://eng-entrance.com/java-basic-main

Recommended Posts

Quelle est la méthode principale en Java?
Quelle est la méthode pluck?
Quelle est la méthode d'initialisation?
Appelez la super méthode en Java
Qu'est-ce que 'java
Qu'est-ce que '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 qu'une classe en langage Java (2 /?)
Qu'est-ce que l'encapsulation Java?
Qu'est-ce que la technologie Java?
Qu'est-ce que Java API-java
[Java] Qu'est-ce que flatMap?
[Java] Qu'est-ce que ArrayList?
[Java] Gestion des Java Beans dans la chaîne de méthodes
Qu'est-ce que le modèle Java Servlet / JSP MVC?
L'ordre des modificateurs de méthode Java est fixe
Le type d'intersection introduit dans Java 10 est incroyable (?)
Quel est le modificateur volatile pour les variables Java?
[Java] Lire les fichiers dans src / main / resources
[Java] Quelque chose est affiché comme "-0.0" dans la sortie
Qu'est-ce que CHECKSTYLE: OFF trouvé dans la source Java? Checkstyle à savoir de
Qu'est-ce que l'assertion Java? Résumé.
Quel est le meilleur, Kotlin ou futur Java?
Qu'est-ce que la classe BufferedReader?
[JAVA] Quelle est la différence entre interface et abstract? ?? ??
[Java] Est-il inutile de vérifier "l'identité" dans l'implémentation de la méthode equals ()?
[Java] Qu'est-ce que jaee j2ee?
[Java] Qu'est-ce que l'héritage de classe?
[Java] Qu'est-ce que Public static void main (String [] args)?
A quoi sert le constructeur?
[Notions de base Java] Qu'est-ce que la classe?
Qu'est-ce que l'analyse Java Escape?
5ème jour de Java
Pourquoi la méthode get est nécessaire dans la classe Calendar
Que trouve-t-on ... (3 points) dans la source Java? Argument de longueur variable à connaître
L'histoire que .java est également construite dans Unity 2018
Comment obtenir le nom d'une classe / méthode exécutée en Java
J'ai traduit [Méthode Clone pour les tableaux Java] comme méthode Clone dans les tableaux Java.
Qu'est-ce que la classe LocalDateTime? [Java débutant] -Date et classe d'heure-
[Android, Java] Méthode pratique pour calculer la différence en jours
Quelle est la représentation de la connaissance du domaine dans le modèle [DDD]?
Créer une méthode pour renvoyer le taux de taxe en Java
Quelle est la différence entre une action et une méthode d'instance?
Devinez le code de caractère en Java
'% 02d' Quel est le% de% 2?
Méthode de redimensionnement automatique des photos par Java
Spécifiez l'emplacement Java dans eclipse.ini
Comparaison Java à l'aide de la méthode compareTo ()
Décompressez le fichier zip en Java
[Java] Ce qui est resté bloqué dans l'encapsulation
Qu'est-ce que Thread Safe (avec Java)
Qu'est-ce qu'un extrait de code en programmation?
Qu'est-ce que @Autowired dans Spring Boot?
[Java] Qu'est-ce que l'exception de modification simultanée?
Analyser l'analyse syntaxique de l'API COTOHA en Java
Qu'est-ce qu'une expression lambda (Java)