Hallo,
folgende Frage:
unten sind zwei Klassen aufgelistet. Es ist eine Art von ArrayList nur mit Arrays (Beispiel aus dem Buch "Java von Kopf bis Fuß").
In der Klasse "TierTestLauf" wird bei "liste.hinnzufügen()" das Argument "a" angegeben.
Wenn ja, was passiert dann weiter unten mit "tiere[nächsterIndex] = t"? Das ersetzt dann doch "a", also verstehe ich "a" als Argument nicht so ganz. Wird hier einfach "tiere[0] = new Hund();" erstellt?
folgende Frage:
unten sind zwei Klassen aufgelistet. Es ist eine Art von ArrayList nur mit Arrays (Beispiel aus dem Buch "Java von Kopf bis Fuß").
In der Klasse "TierTestLauf" wird bei "liste.hinnzufügen()" das Argument "a" angegeben.
1. Frage: Kann man das in der Klasse "MeineTierListe" in der Methode "hinzufufügen(Tier t)" nun so lesen wie:
"public void hinzufügen(Tier t = a)"?
Wenn ja, was passiert dann weiter unten mit "tiere[nächsterIndex] = t"? Das ersetzt dann doch "a", also verstehe ich "a" als Argument nicht so ganz. Wird hier einfach "tiere[0] = new Hund();" erstellt?
Java:
public class MeineTierListe {
private Tier[] tiere = new Tier[5];
private int nächsterIndex = 0;
public void hinzufügen(Tier t) {
if (nächsterIndex < tiere.length) {
tiere[nächsterIndex] = t;
System.out.println("Tier hinzugefügt bei " + nächsterIndex);
nächsterIndex++;
} // end of if
}
}
Java:
public class TierTestLauf {
public static void main(String[] args) {
MeineTierListe liste = new MeineTierListe();
Hund a = new Hund();
Katze b = new Katze();
liste.hinzufügen(a); // "a" als Argument. Kann man das in der Klasse MeineTierListe so lesen wie:
// "Tier t = a"?
liste.hinzufügen(b);
}
}