2 Objekte gleicher Name?

...komplette Frage anzeigen

2 Antworten

Stecke sie in ein Array.

Feind[] feinde = new Feind[2];

for (int i = 0; i < feinde.length; i++)
feinde[i] = new Feind(i + 1);

for (int i = 0; i < feinde.length; i++)
   feinde[i].kaempfe();


Für mehr Feinde musst Du nur die oberste 2 ändern. Der Rest ist generisch.

Das funktioniert natürlich nur, wenn "Feind1" und "Feind2" von der Klasse "Feind" erben oder das Interface "Feind" implementieren.

3
@rmnstr

Ja, genau. Wäre ja aber in diesem Fall durchaus sinnvoll, da ja beide gemeinsame Eigenschaften besitzen. Sie können ja offenbar beide kämpfen. ;-)

2

Wie kann ich die Werte dann auslesen? mit einer Getter Methode geht es anscheinend nicht :/

1
@bishare

ach vergiss es xd hab es jetzt hinbekommen...vielen dank :) 

1
@bishare

feinde[i], mit i als Index zwischen 0 und (feinde.length - 1), jeweils einschließlich, ist wieder vom Typ Feind und unterstützt damit Deine Methoden.

feinde hingegen ist vom Typ Feind[], was nicht das selbe ist, wie Feind. ;-)

1
@bishare

Zum Glück gibt es die Erinnerungsfunktion xP Danke nochmals

1

Dann könntest du ja nicht mehr angeben, welches Objekt nun aufgerufen werden soll.

Was möchtest Du wissen?