Es ist Frühling, also schrieb ich "Hallo Welt" anstelle meiner ursprünglichen Absicht. Wie Sie alle wissen, ist "Hallo Welt" ein einfacher Einführungscode. Auf der anderen Seite gibt es jedoch einige charakteristische Punkte, die für Anfänger, die neu in der Sprache sind, schwer zu verstehen sind.
In diesem Beitrag werde ich die charakteristischen Teile von "Hallo Welt" erklären. Nur "Hallo Welt", aber "Hallo Welt".
HelloWorld.java
Schauen Sie sich zunächst den Hauptcode in diesem Beitrag an. Es ist eine sehr gewöhnliche "Hallo Welt".
HelloWorld.java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("hello, world");
}
}
HelloWorld.Ausführungsergebnis der Klasse
hello, world
Schauen wir uns nun die charakteristische Beschreibung von "Hello world" an (im Vergleich zu allgemeinen Java-Programmen). Jeder Artikel ist ** nach meinem Ermessen ** mit einem "besonderen Abschluss". Je mehr ★, desto spezieller (eine Beschreibung, die in allgemeinen Programmen nicht enthalten ist).
Ein typisches Java-Programm beginnt mit einer "Paket" -Deklaration. "HelloWorld.java" hat jedoch keine "Paket" -Deklaration.
Beispiel für eine Paketdeklaration
package com.example.xyz;
Ohne die Deklaration "package" würde die Klasse zu einem speziellen Paket gehören, das als "Standardpaket" bezeichnet wird. Das "Standardpaket" wird manchmal als "anonymes Paket" bezeichnet.
Klassen, die zum "Standardpaket" gehören, können nicht aus anderen Klassen "importiert" werden.
Dies liegt daran, dass in der import
-Deklaration" Klassenname einschließlich Paketname [^ fqcn] "angegeben werden muss.
Beispiel für eine Importdeklaration
import com.example.xyz.HelloWorld;
Klassen, die nicht aus anderen Klassen "importiert" werden können, sind unpraktisch. Verwenden Sie das "Standardpaket" daher nur mit verfügbarem Code wie Beispielcode.
Da es unwahrscheinlich ist, dass die "Paket" -Deklaration in einem allgemeinen Einwegprogramm nicht vorhanden ist, wird der Sonderabschluss auf ** ★★★ (3) ** festgelegt.
In Java sind alle Klassen Unterklassen der Klasse "Object". Für direkte Unterklassen der Klasse "Objekt" kann die Beschreibung von "Objekt erweitern" weggelassen werden. Das heißt, die HelloWorld-Klasse ist eine direkte Unterklasse der Object-Klasse.
Ein Beispiel für die Deklaration einer direkten Unterklasse der Object-Klasse
//Genau das gleiche wie die unten stehende Klassendeklaration
public class HelloWorld {
// ...
}
//Seien Sie explizit eine direkte Unterklasse der Object-Klasse
public class HelloWorld extends Object {
// ...
}
Normalerweise machen Sie sich nicht die Mühe, "erweitert Objekt" anzugeben [^ erweitert]. Der spezielle Abschluss ist also ** ☆☆☆ (0) **.
main
Methode ist definiert (Spezialität: ★ ☆☆)Die Hauptmethode ist eine spezielle Methode. Der Befehl "java" dient zum Aufrufen der "main" -Methode der angegebenen Klasse zur Laufzeit.
Das Folgende wird aus [Offizielle Dokumentation des Befehls java
] link-tools_java zitiert.
Der Befehl Java startet eine Java-Anwendung. Dies erfolgt durch Starten der Java-Laufzeitumgebung, Laden der angegebenen Klasse und Aufrufen der Hauptmethode dieser Klasse.
Diese Methode muss als öffentlich und statisch deklariert werden. Geben Sie auch keinen Wert zurück. Außerdem müssen Sie in der Lage sein, ein String-Array als Parameter anzugeben. Das Format der Methodendeklaration lautet wie folgt:
public static void main(String[] args)
Wie oben erwähnt, sind die folgenden Bedingungen für die vom Befehl java
aufgerufene Methode.
main
static
(statische Methode)Wenn es in der angegebenen Klasse keine aufrufbare main
-Methode gibt, führt der Befehl java
zu dem folgenden Fehler.
Beispielfehler, wenn die Hauptmethode nicht vorhanden ist
> java HelloWorld
Error:Die Hauptmethode kann nicht in der Klasse HelloWorld gefunden werden. Definieren Sie die Hauptmethode wie folgt:
public static void main(String[] args)
Es ist nett.
Es ist keine spezielle Beschreibung, aber für große Programme haben die meisten Klassen keine Hauptmethode.
Vielleicht haben einige Java-Programmierer die main
-Methode [^ main] noch nie verwendet, daher ist der Spezialgrad auf ** ★ ☆☆ (1) ** festgelegt.
Es ist lange her, also habe ich es separat gepostet. → [System.out.println verstehen ("Hallo Welt")] link-sysout
Ich habe versucht, die bisherige Erklärung im Code wiederzugeben. Ich habe viele Kommentare hinzugefügt, also lesen Sie es bitte.
HelloWorld.java(Redundante Beschreibung)
//Durch Weglassen der Pacakege-Deklaration gehört diese Klasse zum Standardpaket
import java.lang.*;
//* Im Folgenden Java.Klassen im lang-Paket können verwendet werden, ohne den Paketnamen zu qualifizieren, werden jedoch zur Veranschaulichung in FQCN geschrieben.
//Diese Klasse ist eine direkte Unterklasse der Object-Klasse
public class HelloWorld extends java.lang.Object {
//Definieren Sie eine Methode mit Bedingungen, die von einem Java-Befehl aufgerufen werden
public //-Der Zugriffsmodifikator ist öffentlich
static //・ Statisch(Statische Methode)Ist
void //-Der Rückgabewert ist ungültig
main //-Der Methodenname ist main
(java.lang.String[] args) //-Das Argument ist String[](String-Array)Ist
{
//Rufen Sie den "Standard" -Ausgabestream aus dem Feld out der Systemklasse ab
java.io.PrintStream ps = java.lang.System.out;
//Erstellen Sie eine String-Instanz ohne Verwendung eines String-Literal
char data[] = { 'H', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd' };
java.lang.String str = new java.lang.String(data);
//Drucken Sie str, um mit der println-Methode zu streamen
ps.println(str);
}
}
Schauen wir uns zum Schluss noch einmal die gewöhnliche "Hallo Welt" an.
HelloWorld.java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("hello, world");
}
}
Auf diese Weise wurde mir klar, dass ich aus "Hallo Welt" viele Dinge lernen kann. Nur "Hallo Welt", aber "Hallo Welt".
Das Link-Ziel ist Java7, weil ich das Gefühl hatte, dass viele Leute es verwenden würden. Der Inhalt dieses Beitrags ist grundsätzlich für alle Versionen gleich.
[^ fqcn]: Vollqualifizierter Klassenname. Es heißt "FQCN", kurz "Fully Qualified Class Name".
[^ erweitert]: Ich habe es nur in "Erklärungscode" wie diesem gesehen.
[^ main]: Es gibt viele Programme, die ohne das Schreiben der main
-Methode funktionieren, z. B. bei Verwendung eines serverseitigen Programms oder Frameworks.