Ein Java-Programm kann man sich als eine Sammlung von Objekten vorstellen, die zusammenarbeiten, indem sie gegenseitig ihre Methoden aufrufen. Im Folgenden werden kurz die Konzepte von Klassen, Objekten, Methoden und Instanzvariablen vorgestellt.
Objekt : Ein Objekt ist eine Instanz einer Klasse und hat Status und Verhalten. Zu seinem Status gehören beispielsweise: Farbe, Name und Rasse; zu seinen Verhaltensweisen gehören: Schwanzwedeln, Bellen, Fressen usw.
Klasse : Eine Klasse ist eine Vorlage, die das Verhalten und den Status einer Objektklasse beschreibt.
Methode : Methode ist Verhalten, und eine Klasse kann viele Methoden haben. Logische Operationen, Datenänderungen und alle Aktionen werden in Methoden ausgeführt.
Instanzvariablen : Jedes Objekt verfügt über eindeutige Instanzvariablen, und der Status des Objekts wird durch die Werte dieser Instanzvariablen bestimmt.
Schauen wir uns ein einfaches Java-Programm an, das die Zeichenfolge „Hello World“ ausgibt
öffentliche Klasse MyFirstJavaProgram {
/* Das erste Java-Programm.
* Es wird die Zeichenfolge „Hello World“ gedruckt
*/
public static void main(String []args) {
System.out.println("Hello World"); // Hallo Welt drucken
}
}
Hier finden Sie eine Schritt-für-Schritt-Anleitung zum Speichern, Kompilieren und Ausführen dieses Programms:
Öffnen Sie Notepad und fügen Sie den obigen Code hinzu.
Speichern Sie den Dateinamen als: MyFirstJavaProgram.java;
Öffnen Sie das cmd-Befehlsfenster und geben Sie den Speicherort der Zieldatei ein, vorausgesetzt, es ist C:
Geben Sie javac MyFirstJavaProgram.java in das Befehlszeilenfenster ein und drücken Sie die Eingabetaste, um den Code zu kompilieren. Wenn der Code keine Fehler enthält, springt die cmd-Eingabeaufforderung zur nächsten Zeile. (Vorausgesetzt, alle Umgebungsvariablen sind gesetzt).
Geben Sie dann java MyFirstJavaProgram ein und drücken Sie die Eingabetaste, um das Programm auszuführen.
Im Fenster wird „Hello World“ angezeigt
C:> javac MyFirstJavaProgram.java
C:> Java MyFirstJavaProgram
Hallo Welt
Beim Schreiben von Java-Programmen sollten Sie auf folgende Punkte achten:
Groß- und Kleinschreibung : Java unterscheidet zwischen Groß- und Kleinschreibung, was bedeutet, dass die Bezeichner Hello und Hello unterschiedlich sind.
Klassenname : Bei allen Klassen sollte der erste Buchstabe des Klassennamens großgeschrieben werden. Wenn der Klassenname aus mehreren Wörtern besteht, sollte der erste Buchstabe jedes Wortes großgeschrieben werden, zum Beispiel MyFirstJavaClass.
Methodennamen : Alle Methodennamen sollten mit einem Kleinbuchstaben beginnen. Wenn der Methodenname mehrere Wörter enthält, wird der erste Buchstabe jedes nachfolgenden Wortes großgeschrieben.
Name der Quelldatei : Der Name der Quelldatei muss mit dem Klassennamen übereinstimmen. Beim Speichern der Datei sollten Sie den Klassennamen als Dateinamen (beachten Sie, dass bei Java die Groß-/Kleinschreibung beachtet wird) und das Dateinamensuffix .java verwenden. ( Wenn der Dateiname und der Klassenname unterschiedlich sind, tritt ein Kompilierungsfehler auf .)
Hauptmethodeneintrag : Alle Java-Programme starten die Ausführung über public static void main(String [] args)
.
Alle Komponenten von Java erfordern Namen. Klassennamen, Variablennamen und Methodennamen werden alle als Bezeichner bezeichnet.
Bezüglich Java-Identifikatoren sind folgende Punkte zu beachten:
Alle Bezeichner sollten mit einem Buchstaben (AZ oder az), einem Dollarzeichen ($) oder einem Unterstrich (_) beginnen.
Dem ersten Zeichen kann eine beliebige Kombination aus Buchstaben (AZ oder az), Dollarzeichen ($), Unterstrichen (_) oder Zahlen folgen.
Schlüsselwörter können nicht als Identifikatoren verwendet werden
Bei Bezeichnern muss die Groß-/Kleinschreibung beachtet werden
Beispiele für rechtliche Identifikatoren: Alter, $salary, _value, __1_value
Beispiele für illegale Bezeichner: 123abc, -salary
Wie andere Sprachen kann Java Modifikatoren verwenden, um Methoden und Eigenschaften in Klassen zu ändern. Es gibt zwei Haupttypen von Modifikatoren:
Zugriffskontrollmodifikatoren: Standard, öffentlich, geschützt, privat
Nicht-Zugriffskontrollmodifikatoren: endgültig, abstrakt, statisch, synchronisiert und flüchtig
Wir werden Java-Modifikatoren in späteren Kapiteln ausführlich besprechen.
In Java gibt es hauptsächlich die folgenden Arten von Variablen:
lokale Variablen
Klassenvariablen (statische Variablen)
Mitgliedsvariablen (nicht statische Variablen)
Arrays sind auf dem Heap gespeicherte Objekte und können mehrere Variablen desselben Typs speichern. In späteren Kapiteln erfahren Sie, wie Sie ein Array deklarieren, erstellen und initialisieren.
Mit Java 5.0 wurden Aufzählungen eingeführt, die Variablen auf voreingestellte Werte beschränken. Die Verwendung von Aufzählungen kann Fehler in Ihrem Code reduzieren.
Beispielsweise entwerfen wir ein Programm für einen Saftladen, der den Saft auf kleine, mittlere und große Tassen beschränkt. Das bedeutet, dass Kunden keine anderen Säfte als diese drei Größen bestellen können.
Klasse FreshJuice {
Aufzählung FreshJuiceSize{ SMALL, MEDIUM, LARGE }
FreshJuiceSize-Größe;
}
öffentliche Klasse FreshJuiceTest {
public static void main(String args[]){
FreshJuice-Saft = new FreshJuice();
Juice.size = FreshJuice.FreshJuiceSize.MEDIUM;
}
}
Hinweis: Aufzählungen können einzeln oder innerhalb einer Klasse deklariert werden. Methoden, Variablen und Konstruktoren können auch in Aufzählungen definiert werden.
Die für Java reservierten Wörter sind unten aufgeführt. Diese reservierten Wörter können nicht in den Namen von Konstanten, Variablen und Bezeichnern verwendet werden.
Schlüsselwörter | beschreiben |
---|---|
Abstrakt | Abstrakte Methoden, Modifikatoren abstrakter Klassen |
behaupten | Stellen Sie fest, ob die Bedingung erfüllt ist |
Boolescher Wert | Boolescher Datentyp |
brechen | Brechen Sie aus der Schleife aus oder beschriften Sie das Codesegment |
Byte | 8-Bit-Datentyp mit Vorzeichen |
Fall | Eine Bedingung der switch-Anweisung |
fangen | Verwenden Sie es, um Ausnahmeinformationen zu erfassen |
verkohlen | 16-Bit-Unicode-Zeichendatentyp |
Klasse | Klasse definieren |
const | Nicht verwendet |
weitermachen | Führen Sie den Rest des Schleifenkörpers nicht aus |
Standard | Standardzweig in der Switch-Anweisung |
Tun | Schleifenanweisung, der Schleifenkörper wird mindestens einmal ausgeführt |
doppelt | 64-Bit-Gleitkommazahl mit doppelter Genauigkeit |
anders | Der Zweig wird ausgeführt, wenn die if-Bedingung nicht wahr ist |
Aufzählung | Aufzählungstyp |
erstreckt sich | Zeigt an, dass eine Klasse eine Unterklasse einer anderen Klasse ist |
Finale | Zeigt an, dass ein Wert nach der Initialisierung nicht geändert werden kann. Zeigt an, dass die Methode nicht überschrieben werden kann oder dass eine Klasse keine Unterklassen haben kann. |
Endlich | Entwickelt, um die Ausführung des Codes abzuschließen, hauptsächlich für die Robustheit und Integrität des Programms, wird der Code unabhängig davon ausgeführt, ob eine Ausnahme auftritt. |
schweben | 32-Bit-Gleitkommazahl mit einfacher Genauigkeit |
für | for-Schleifenanweisung |
gehe zu | Nicht verwendet |
Wenn | bedingte Anweisung |
implementiert | Zeigt an, dass eine Klasse die Schnittstelle implementiert |
Import | Klasse importieren |
Instanz von | Testen Sie, ob ein Objekt eine Instanz einer Klasse ist |
int | 32-Bit-Ganzzahl |
Schnittstelle | Schnittstelle, ein abstrakter Typ mit nur Definitionen von Methoden und Konstanten |
lang | 64-Bit-Ganzzahl |
einheimisch | Darstellungsmethoden werden in Nicht-Java-Code implementiert |
neu | Weisen Sie eine neue Klasseninstanz zu |
Paket | Eine Reihe verwandter Klassen bilden ein Paket |
Privat | Zeigt private Felder, Methoden usw. an, auf die nur innerhalb der Klasse zugegriffen werden kann |
geschützt | Gibt an, dass auf das Feld nur über die Klasse oder ihre Unterklassen oder andere Klassen im selben Paket zugegriffen werden kann. |
öffentlich | Stellt allgemeine Eigenschaften oder Methoden dar |
zurückkehren | Rückgabewert der Methode |
kurz | 16 Ziffern |
statisch | Stellt etwas dar, das auf Klassenebene definiert ist und von allen Instanzen gemeinsam genutzt wird. |
strictfp | Für Gleitkommavergleiche gelten strenge Regeln |
super | Stellt die Basisklasse dar |
schalten | select-Anweisung |
synchronisiert | Stellt einen Codeblock dar, auf den jeweils nur ein Thread zugreifen kann |
Das | Zeigt den Aufruf der aktuellen Instanz oder den Aufruf eines anderen Konstruktors an |
werfen | eine Ausnahme auslösen |
wirft | Definieren Sie Ausnahmen, die von einer Methode ausgelöst werden können |
vergänglich | Felder so ändern, dass sie nicht serialisiert werden |
versuchen | Gibt an, dass der Codeblock Ausnahmen behandeln muss oder mit „final“ zusammenarbeitet, um anzugeben, dass der Code in „finally“ ausgeführt wird, unabhängig davon, ob eine Ausnahme ausgelöst wird. |
Leere | Die Markierungsmethode gibt keinen Wert zurück |
flüchtig | Auf Tag-Felder kann gleichzeitig von mehreren Threads ohne Synchronisierung zugegriffen werden |
während | while-Schleife |
Ähnlich wie C/C++ unterstützt Java auch einzeilige und mehrzeilige Kommentare. Zeichen in Kommentaren werden vom Java-Compiler ignoriert.
öffentliche Klasse MyFirstJavaProgram{
/* Dies ist das erste Java-Programm *Es wird „Hello World“ ausgeben
* Dies ist ein Beispiel für einen mehrzeiligen Kommentar */
public static void main(String []args){
// Dies ist ein Beispiel für einen einzeiligen Kommentar /* Dies ist auch ein Beispiel für einen einzeiligen Kommentar */
System.out.println("Hallo Welt");
}
}
Leerzeilen oder Zeilen nur mit Kommentaren werden vom Java-Compiler ignoriert.
In Java kann eine Klasse von anderen Klassen abgeleitet werden. Wenn Sie eine Klasse erstellen und es bereits eine Klasse gibt, die über die von Ihnen benötigten Eigenschaften oder Methoden verfügt, können Sie die neu erstellte Klasse von dieser Klasse erben.
Mithilfe der Vererbung können Sie Methoden und Eigenschaften vorhandener Klassen wiederverwenden, ohne den Code neu schreiben zu müssen. Die geerbte Klasse wird als Superklasse bezeichnet, die abgeleitete Klasse als Unterklasse.
Unter einer Schnittstelle kann in Java ein Protokoll zur Kommunikation zwischen Objekten verstanden werden. Schnittstellen spielen bei der Vererbung eine sehr wichtige Rolle.
Die Schnittstelle definiert nur die Methoden, die von der abgeleiteten Klasse verwendet werden sollen, aber die spezifische Implementierung der Methode hängt vollständig von der abgeleiteten Klasse ab.
Im nächsten Abschnitt werden Klassen und Objekte in der Java-Programmierung vorgestellt. Anschließend verfügen Sie über ein klareres Verständnis von Klassen und Objekten in Java.