Hallo liebe Java-Freunde und ein gutes neues Jahr!
Beim Lesen eines Java-Buches bin ich im Zusammenhang mit dem Kapitel "Klassen und Objekte" auf einen Quellcode gestoßten, bei dem mir die Zusammenhänge nicht ganz einleuchten.
Auszug der Programmausgabe:
Die Datei Schueler.java ist mir soweit klar.
Mit
wird auf die Klassenvariable
zugegriffen.
Außerdem wird ein Array der Länge 10 für Schüler erzeugt.
In der for-Schleife wird die Laufvariable lv immer um den Wert 1 erhöht, solange lv kleiner als die Länge des Arrays ist, sprich lv < 10.
Ab Zeile 34 beginnen allmählich meine Verständnisschwierigkeiten:
Zeile 34 meint doch, dass der jeweilige Wert für lv die Stelle im Array kennzeichnet, für welche ein neues Objekt der Klasse Schueler angelegt werden soll, also alles "gemacht wird", was in der Datei Schueler.java steht...?
Warum wird dann - und welche Bedeutung hat diese - Zeile 35 geschrieben?
Ich denke, wenn ich das verstanden habe, ergibt sich das Verständnis der restlichen Zeilen von selbst.
Vielen Dank für Eure Mühe!
Gruß
Wang
Beim Lesen eines Java-Buches bin ich im Zusammenhang mit dem Kapitel "Klassen und Objekte" auf einen Quellcode gestoßten, bei dem mir die Zusammenhänge nicht ganz einleuchten.
Java:
// Datei: Schueler.java
public class Schueler
{
private int nummerDesSchuelers;
public static int klassenStaerke = 0;
public void setzeNummer()
{
nummerDesSchuelers = ++klassenStaerke;
}
public void abzaehlen()
{
System.out.println ("Ich bin die Nr.: " + nummerDesSchuelers);
}
}
// Datei: SchuelerTest.java
public class SchuelerTest
{
public static void main (String[] args)
{
int lv;
System.out.println ("Klassenstärke vor der Einschulung: " + Schueler.klassenStaerke);
// Erzeugung eines Arrays für Schüler
Schueler[] schuelerInKlasse = new Schueler [10];
for (lv = 0; lv < schuelerInKlasse.length; lv++)
{
schuelerInKlasse [lv] = new Schueler();
schuelerInKlasse [lv].setzeNummer();
}
// Ausgabe der Schüler
for (lv = 0; lv < schuelerInKlasse.length; lv++)
schuelerInKlasse [lv].abzaehlen();
System.out.println ("Klassenstärke nach der Einschulung: "
+ schuelerInKlasse [0].klassenStaerke);
}
}
Auszug der Programmausgabe:
Code:
Klassenstärke vor der Einschulung: 0
Ich bin die Nr.: 1
...
Ich bin die Nr.: 10
Klassenstärke nach der Einschulung: 10
Die Datei Schueler.java ist mir soweit klar.
Mit
Code:
Schueler.klassenStaerke
Code:
klassenStaerke
Außerdem wird ein Array der Länge 10 für Schüler erzeugt.
In der for-Schleife wird die Laufvariable lv immer um den Wert 1 erhöht, solange lv kleiner als die Länge des Arrays ist, sprich lv < 10.
Ab Zeile 34 beginnen allmählich meine Verständnisschwierigkeiten:
Zeile 34 meint doch, dass der jeweilige Wert für lv die Stelle im Array kennzeichnet, für welche ein neues Objekt der Klasse Schueler angelegt werden soll, also alles "gemacht wird", was in der Datei Schueler.java steht...?
Warum wird dann - und welche Bedeutung hat diese - Zeile 35 geschrieben?
Ich denke, wenn ich das verstanden habe, ergibt sich das Verständnis der restlichen Zeilen von selbst.
Vielen Dank für Eure Mühe!
Gruß
Wang