C'est le printemps, j'ai donc écrit "Hello world" au lieu de mon intention initiale. Comme vous le savez tous, "Hello world" est un simple code d'introduction. Cependant, d'un autre côté, il y a certains points caractéristiques qui sont difficiles à comprendre pour les débutants qui sont nouveaux dans la langue.
Dans cet article, j'expliquerai les parties caractéristiques de "Hello world". Seulement "Hello world", mais "Hello world".
HelloWorld.java
Tout d'abord, jetez un œil au code principal de cet article. C'est un "Hello world" très ordinaire.
HelloWorld.java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("hello, world");
}
}
HelloWorld.résultat d'exécution de la classe
hello, world
Jetons maintenant un œil à la description caractéristique de "Hello world" (par rapport aux programmes Java généraux). Chaque article est ** à ma discrétion ** avec un «diplôme spécial». Le plus ★, le plus spécial (une description introuvable dans les programmes généraux).
Un programme Java typique commence par une déclaration package
.
Cependant, «HelloWorld.java» n'a pas de déclaration de «package».
Exemple de déclaration de package
package com.example.xyz;
Sans la déclaration package
, la classe appartiendrait à un package spécial appelé" package par défaut ".
Le "package par défaut" est parfois appelé "package anonyme".
Les classes qui appartiennent au "package par défaut" ne peuvent pas être ʻimport d'autres classes. C'est parce qu'il est nécessaire de spécifier "nom de classe incluant le nom de package [^ fqcn]" dans la déclaration ʻimport
.
Exemple de déclaration d'importation
import com.example.xyz.HelloWorld;
Les classes qui ne peuvent pas être ʻimport` à partir d'autres classes ne sont pas pratiques, de sorte que le "package par défaut" n'est utilisé que dans du code jetable tel qu'un exemple de code.
Comme il est peu probable que la déclaration package
n'existe pas dans un programme général non jetable, le degré spécial est défini sur ** ★★★ (3) **.
En Java, toutes les classes sont des sous-classes de la classe ʻObject. Pour les sous-classes directes de la classe ʻObject
, la description de ʻextends Objectpeut être omise. Autrement dit, la classe
HelloWorld est une sous-classe directe de la classe ʻObject
.
Un exemple de déclaration d'une sous-classe directe de la classe Object
//Exactement la même que la déclaration de classe ci-dessous
public class HelloWorld {
// ...
}
//Être explicitement une sous-classe directe de la classe Object
public class HelloWorld extends Object {
// ...
}
ʻExends Object` n'est généralement pas spécifié [^ extend]. Ainsi, le diplôme spécial est ** ☆☆☆ (0) **.
main
est définie (spécialité: ★ ☆☆)La méthode main
est une méthode spéciale.
La commande java
est conçue pour appeler la méthode main
de la classe spécifiée au moment de l'exécution.
Ce qui suit est tiré de la [Documentation officielle de la commande java
] link-tools_java.
La commande java lance une application Java. Cela se fait en lançant l'environnement d'exécution Java, en chargeant la classe spécifiée et en appelant la méthode principale de cette classe.
Cette méthode doit être déclarée comme publique et statique. Ne renvoyez pas non plus de valeur. De plus, vous devez être en mesure de spécifier un tableau String en tant que paramètre. Le format de la déclaration de méthode est le suivant:
public static void main(String[] args)
Comme mentionné ci-dessus, voici les conditions de la méthode appelée à partir de la commande java
.
main
public
--static
(méthode statique)void
--L'argument est String []
(String array)S'il n'y a pas de méthode main
appelable dans la classe spécifiée, la commande java
entraînera l'erreur suivante.
Exemple d'erreur lorsque la méthode principale n'existe pas
> java HelloWorld
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)
C'est gentil.
Ce n'est pas une description spéciale, mais pour les grands programmes, la plupart des classes n'ont pas de méthode main
.
Peut-être que certains programmeurs Java n'ont jamais utilisé la méthode main
[^ main], donc le degré spécial est défini sur ** ★ ☆☆ (1) **.
Cela fait longtemps, alors je l'ai posté séparément. → [Comprendre System.out.println ("bonjour, monde")] link-sysout
J'ai essayé de refléter l'explication jusqu'à présent dans le code. J'ai ajouté beaucoup de commentaires, alors veuillez le lire.
HelloWorld.java(Description redondante)
//En omettant la déclaration pacakege, cette classe appartient au package par défaut
import java.lang.*;
//* Ci-après, java.Les classes du package lang peuvent être utilisées sans qualifier le nom du package, mais sont écrites en FQCN à titre d'illustration.
//Cette classe est une sous-classe directe de la classe Object
public class HelloWorld extends java.lang.Object {
//Définir une méthode avec des conditions appelées à partir d'une commande java
public //-Le modificateur d'accès est public
static //・ Statique(Méthode statique)Est
void //-La valeur de retour est nulle
main //-Le nom de la méthode est main
(java.lang.String[] args) //-L'argument est String[](Tableaudechaînes)Est
{
//Obtenez le flux de sortie "standard" à partir du champ out de la classe System
java.io.PrintStream ps = java.lang.System.out;
//Créer une instance String sans utiliser de littéral de chaîne
char data[] = { 'H', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd' };
java.lang.String str = new java.lang.String(data);
//Imprimer str pour diffuser avec la méthode println
ps.println(str);
}
}
Enfin, jetons à nouveau un regard sur le "Hello world" ordinaire.
HelloWorld.java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("hello, world");
}
}
De cette façon, j'ai réalisé qu'il y avait beaucoup de choses que je pouvais apprendre de "Hello world". Seulement "Hello world", mais "Hello world".
La destination du lien est Java7 parce que je sentais que beaucoup de gens l'utilisaient. Le contenu de cet article est fondamentalement le même pour toutes les versions.
[^ fqcn]: nom de classe complet. Il est appelé "FQCN" pour abréviation de "Nom de classe pleinement qualifié".
[^ extend]: Je ne l'ai vu qu'en "code explicatif" comme celui-ci.
[^ main]: Il existe de nombreux programmes qui fonctionnent sans écrire la méthode main
, comme lors de l'utilisation d'un programme ou d'un framework côté serveur.
Recommended Posts