Variable in Java zwischen 2 Klassen übergeben
Hallo,
ich arbeite zur Zeit mit Greenfoot und dem Szenario Little Crab.
jetzt soll ich der Krabbe ein Schutzschild verpassen. Das habe ich geschafft. Wenn ich s Drücke, bekommt die Krabbe 5 sek ein Schutzschild.
Wenn die Krabbe (Klasse Crab) allerdings durch das Schutzschild geschützt ist, soll die Klasse Lobster die Krabbe nicht fressen können, das habe ich folgendermaßen probiert zu realisieren:
in der Klasse Crab:
public boolean schutzSchild
if(Greenfoot.isKeyDown("s"))
schutzSchild=true;
-->da steht noch mehr, aber das hab ich mal weggelassen.
Jetzt habe ich in der Klasse Lobster geschrieben:
if(canSee(Crab.class) && !schutzSchild)
eat(Crab.class);
doch ich bekomm nur einen error, dass die Variable unbekannt ist.
Jetzt meine Frage:
wie bekomm ich den Wert der Variable schutzSchild von der Klasse Crab in die Klasse Lobster?
mit freundlichen Grüßen
Antwort schreiben
Antwort 1 von Elefunty vom 22.10.2022, 18:13 Options
Wenn ich dich richtig verstanden hab, sollte es gehen, indem du auf die publike Membervariable von Crab zugreifst.
if(canSee(Crab.class) && !Crab.schutzSchild)
eat(Crab.class);
btw. ich bin mir allerdings nicht ganz sicher, was jetzt klassendefinition und was instanz ist... da drücktest du dich etwas wirr aus.
Ele
Antwort 2 von java_beginner vom 22.10.2022, 18:26 Options
Ja, so dachte ich mir das auch (mal abgesehen von dem Crab. davor).
Ich habe in der Klasse Crab stehen:
public boolean schutzSchild;
und in der Klasse Lobster:
if(canSee(Crab.class) && !Crab.schutzSchild)
blah
der Compiler sagt mir dann aber:
non-static variable schutzSchild cannot be referenced from a static context.
mit freundlichen Grüßen