moin,
ich habe gerade erst mit Java angefangen. Ich habe eine Klasse Spieler und zwei weitere Klassen namens ComputerSpieler und MenschlicherSpieler.
Ich habe die Klasse Spieler als abstrakte Klasse definiert, die einen Konstruktor besitzt.
Ich möchte, dass dieser Vorgang in beiden Unterklasse vorhanden ist. Ich dachte, dass ich später mit new ComputerSpieler(); und new MenschlicherSpiele auf den Konstruktor von Spieler zurückgreifen kann und beide Spieler dann die ArrayList spielerSteine benutzen.
Demnach habe ich in ComputerSpieler folgendes geschrieben:
Ich bekomme nun aber den Fehler: The method Spieler(ArrayList) is undefined for the type ComputerSpieler.
Wo ist mein Fehler und ist meine Denkweise soweit richtig ? Ich wollte die Methode, die die ArrayList vorbereitet, nicht 2 Mal in den Klassen haben.
Danke
ich habe gerade erst mit Java angefangen. Ich habe eine Klasse Spieler und zwei weitere Klassen namens ComputerSpieler und MenschlicherSpieler.
Ich habe die Klasse Spieler als abstrakte Klasse definiert, die einen Konstruktor besitzt.
Code:
public abstract class Spieler {
public ArrayList spielerSteine = new ArrayList();
public Spieler(ArrayList steine){
for (int i = 0; i < 5; i++) {
int zufallsStein = (int) (Math.random() * (steine.size()));
spielerSteine.add(steine.get(zufallsStein));
steine.remove(zufallsStein);
}
}
Ich möchte, dass dieser Vorgang in beiden Unterklasse vorhanden ist. Ich dachte, dass ich später mit new ComputerSpieler(); und new MenschlicherSpiele auf den Konstruktor von Spieler zurückgreifen kann und beide Spieler dann die ArrayList spielerSteine benutzen.
Demnach habe ich in ComputerSpieler folgendes geschrieben:
Code:
public class ComputerSpieler extends Spieler {
public ComputerSpieler(ArrayList steine) {
super(Spieler(steine));
}
Ich bekomme nun aber den Fehler: The method Spieler(ArrayList) is undefined for the type ComputerSpieler.
Wo ist mein Fehler und ist meine Denkweise soweit richtig ? Ich wollte die Methode, die die ArrayList vorbereitet, nicht 2 Mal in den Klassen haben.
Danke