|
Das erste Standard-Beispiel
Java - Idee
Jede Programmiertechnik hat eine spezielle Kernaussage (ein Paradigma):
ein Assembler-Programmierer kennt alle speziellen Fähigkeiten der
jeweiligen CPU-Register, ein C-Programmierer schreibt immer eine Funktion,
ein C++ Programmierer kennt Funktionen und Klassen, und schließlich
kennt ein JAVA- Programmierer nur noch Klassen. Alle Befehle und
Variable stehen also innerhalb einer Klasse.
Klassen
Was eigentlich ist eine Klasse? Eine Klasse ist ein privater Datentyp.
Allgemein besteht eine Klasse aus Elementen. Diese Elemente sind Daten
(Eigenschaften, die zusammen den Status der Klasse oder eines Objektes
bilden) und Operationen (den Satz der Methoden, die zusammengenommen das
Verhalten bilden). Damit wird der Speicherbedarf und sein interner Aufbau
zusammen mit der Menge der erlaubten Operationen selbst definiert. Bei
einem Basisdatentyp wie z.B. "int" ist beides in der Sprache fest vorgegeben.
Die mit einer Klasse angelegten Variablen sind die Objekte.
Ein privater Datentyp ist ein Modell eines Stücks der Wirklichkeit.
Ein Programm ist so ein Modell und wird damit über eine Klasse beschrieben.
Schreiben wir ein "HelloWorld"-Programm, schreiben wir also zuerst eine
"HelloWorld"-Klasse. Klassen können Elemente besitzen, die sich später
in jedem einzelnen Objekt wiederfinden (Objekt-Elemente), und sie können
Elemente enthalten, die für die Klasse gelten und nicht in jedem Objekt
wiederholt werden (Klassenelemente).
Pakete (packages)
Ein Programm besteht aus einer oder mehr Klassen, die in einem (Klassen-)
Paket zusammengefaßt werden. Gibt man kein Paket (package) an, wird
ein Standard-Paket angenommen.In einem Paket können wiederum Sub-Pakete
oder Klassen enthalten sein.
Standard-Klassen
Jede Klasse in Java kann ein Klassenpaket automatisch benutzen, da es immer
zwangsweise bei einer Übersetzung durchsucht wird: "java.lang". Wir
verwenden im Beispiel die Paket "System" mit der Klasse "out" und der Methode
"println()". (Die Begriffe werden gleich erklärt.)
Objekte
Ein Objekt ist eine Variable, die auf der Basis einer Klasse angelegt wurde.
Es kann also viele verschiedene Objekte (auch Instanzen genannt) einer
Klasse geben.
Hello-World-Beispiel
Lassen wir erst einmal die vielen, möglicherweise neuen, Begriffe
beiseite und arbeiten praktisch.
-
Starten Sie einen Editor (Notepad, joe, JEdit). Schreiben Sie den unten
angegebenen Quelltext ab und speichern ihn in einer Datei, die exakt "HelloWorld.java"
heißt.
-
Übersetzen Sie die Datei mit "javac HelloWorld.java" (Ihre Eingabe
auf der Kommandozeile).
-
Starten sie den Interpreter und laden die Programmklasse mit: "java HelloWorld"
(Klassenname).
// Das einfachste Programm
// walter digital, 2000
import java.lang.*; // Paket java.lang wird immer automatisch eingebunden
class HelloWorld // Alles ist in einer Klasse, hier Programm-Klasse
{
public static void main (String args[]) // öffentliche Klassenmethode
{
System.out.println("Hello World !"); // Package System, Klasse out, Methode println()
}
}
In unserem ersten Beispiel erstellen wir eine einfache Klasse in einem
Standard-Paket (ohne package-Angabe). Der Klassenname ist unser Programmname.
Die Klasse enthält nur eine Methode: main(). Die main()-Methode liefert
keine Rückgabe, also "void". Sie gilt nicht nur für Objekte sondern
auch für die Klasse, also "static". Und schließlich soll main()
außerhalb der Klasse sichtbar sein, also "public". "java" wird diese
Methode "main()" in der als Argument übergebene Klasse starten.
Die Methode, die unseren Text ausgibt, gehört im Paket (package)
"java.lang" zur Klasse "System". Für das Objekt "out" in der Klasse
"System" rufen wir die Methode "println()" mit dem Text als Parameter auf.
Wir rufen also das Unterprogramm "println()" auf.
Der aus Unix/DOS/C bekannte Begriff "Standardausgabe" wir hier durch
das Objekt "out" repräsentiert.
Vorsicht: das Beispiel setzt voraus, dass das Betriebssystem eine Kommandozeile
kennt. Betiebssysteme mit einer reinrassigen graphischen Oberfläche
können dieses Programm nicht anzeigen. |