Hallo,
ich bekomme beim Compilen meines Programms folgende Fehlermeldung:
non-static method cannot be referenced from a static context
Ich bin bisher nicht darauf gekommen, wie ich dies beheben kann. Ich habe eine Klasse Spiel, die die Methode use aufrufen soll, wenn der Benutzer "use" + Name eines Gegenstands eintippt.
Die Methode use ist definiert in einer Oberklasse Objekt mit den Unterklassen Blume, Buch, Schatz und Tier. Jede der Unterklassen führt eine andere Anweisung aus, wenn die Methode use ausgeführt wird. Hier z.B. die Methode der Unterklasse Blume.
Die Oberklasse ist nicht abstract.
Ich hoffe mir kann jemand weiterhelfen.
Liebe Grüße,
Selina
ich bekomme beim Compilen meines Programms folgende Fehlermeldung:
non-static method cannot be referenced from a static context
Ich bin bisher nicht darauf gekommen, wie ich dies beheben kann. Ich habe eine Klasse Spiel, die die Methode use aufrufen soll, wenn der Benutzer "use" + Name eines Gegenstands eintippt.
Java:
private boolean verarbeiteBefehl(Befehl befehl)
{
boolean moechteBeenden = false;
Befehlswort befehlswort = befehl.gibBefehlswort();
switch(befehlswort){
...
case USE:
Objekt.use(befehl);
break;
...
break;
Die Methode use ist definiert in einer Oberklasse Objekt mit den Unterklassen Blume, Buch, Schatz und Tier. Jede der Unterklassen führt eine andere Anweisung aus, wenn die Methode use ausgeführt wird. Hier z.B. die Methode der Unterklasse Blume.
Die Oberklasse ist nicht abstract.
Code:
public void use(Befehl befehl)
{
Iterator<Objekt> it = Biene.rucksack.iterator();
while(it.hasNext()) {
Objekt loeschen = it.next();
if(loeschen.getSuchbegriff().equals(befehl.gibZweitesWort())){
tragkraft += getKraft(); //Kraft addieren
System.out.println("Du hast das Objekt '" + loeschen.getName() + "' gegessen.\nDeine Tragkrafte beträgt nun " + bienchen.tragkraft + " Gramm.");
it.remove();
rucksackWiegenPrint();
rucksackFreiPrint();
return;
}
}
System.out.println("Das hat nicht geklappt. Das Objekt befindet sich nicht in deinem Rucksack.");
}
Ich hoffe mir kann jemand weiterhelfen.
Liebe Grüße,
Selina