Anhand diesem Beispiel seht Ihr, wie einfach Java eigentlich ist
(die "java-typischen" Teile hat Euch die C-Ente jeweils im Kommentar (nach "//") erklärt!)
public static class Test1
// kennzeichnet den Beginn der Klasse Test1. Zur Klasse Test1 gehört nur die Methode "main()".
// "static" bedeutet, dass die Klasse als statisch (und nicht dynamisch) definiert wird. Der
// Umgang mit dynamischen Klassen ist etwas komplizierter, aber als ersten
// Einstieg bzw. Ausblick auf Java genügt einmal die Programmierung von statischen Klassen.
// Auch mit statischen Klassen lassen sich schon sehr schöne und interessante Programme
// erstellen!
{
public void main()
// Dies ist die Methode main() der Klasse Test1
{
System.out.write("Das ist ein Testprogramm!\n");
// In Java muss man statt "printf()" "System.out.write()" schreiben, um einen Text auszugeben.
Test2.X = 20;
// "Test2.X = 20;" belegt die Eigenschaft (=Variable) der Klasse Test2 mit dem
// Wert 20. Um einer Eigenschaft einer anderen Klasse einen Wert zuzuweisen, verwendet
// man immer diese Notation: Klasse.Eigenschaft = Wert;
Test2.A();
// "Test2.A();" ruft die Methode A der Klasse Test2 auf. Um eine Methode (=Funktion)
// einer anderen Klasse zuzugreifen, verwendet man immer diese Notation:
// Klasse.Methode();
}
}
public class Test2
// Hier beginnt die Klasse "Test2". Zu dieser Klasse gehören die
// Methoden A() und B(), und die Eigenschaft X.
{
public int X;
// dies ist die Eigenschaft "X" der Klasse "Test2"
public void A()
{
int i;
// nachdem diese Variable innerhalb (und nicht
ausserhalb) einer Funktion
// vorkommt, bezeichnet man sie nicht als "Eigenschaft", sondern man sagt dazu einfach
// "Variable".
System.out.write("Jetzt wird die Funktion 'A' von der Klasse 'Test2' ausgeführt!\n");
System.out.write("Wert von X: " + X);
System.out.write("\n");
B();
// Nachdem sich die Methode B() in derselben Klasse befindet, kann man
// einfach "B();" schreiben.
}
public void B()
{
System.out.write("Und jetzt wird die Funktion 'B' von der Klasse 'Test2' ausgeführt!\n");
}
}