Methoden Beim Start meines Projektes eine Methode ausführen

SockenSepp123

Aktives Mitglied
Hallo, ich habe einen Spielautomaten in BlueJ programmiert. Nun ist meine Frage, wie ich es anstelle, das sobald man einen neuen Spielautomaten erzeugt, auch die Methode ausgeführt wird? Hier ist der Code:

Java:
public class Spielautomat extends Grafikanwendung{
    public void würfeln() {
//Das soll ausgeführt werden
}
}

Wäre extrem Dankbar, wenn mir jemand helfen könnte ^^

Lg
 
Rufe die Methode im Konstruktor von Spieleautomat auf.
Der Konstruktor wird aufgerufen sobald ein neues Objekt von Spieleautomat erstellt wird.
 
Und du glaubst ich kann damit jetzt etwas anfangen?
Ein Stacktrace wäre super..
Und Code sicherlich auch.

Gruß Robert

Java:
public class Spielautomat extends Grafikanwendung{

würfeln();

    public void würfeln() {
  }
}
Fehlermeldung:
f25e6f19dc5642d3bd367a6304bc5bf6.png


LG
 
Lies dir mal den Artikel durch und versuch es selbst.
Learning by doing 🙂
Ich habe nun den Konstruktor erzeugt, es gibt keinen Syntaxfehler, jedoch gibt die Konsole folgendes aus:
bbc243b584064d17ab6fc7e409b97d51.png


Diesen Fehler habe ich noch nie gesehen 😀

Code:
    public Spielautomat() {
    würfeln();
    gewinne();

    }
    public void würfeln() {

        Spielautomat s = new Spielautomat();
    }
}

Lg
 
Du hast eine Endlosschleife erzeugt.
Wenn dein Konstruktor aufgerufen wird, wird die Methode würfeln() aufgerufen, dort ein neues Objekt von Spielautomat erstellt --> Konstruktor --> würfeln() --> Konstruktor --> würfeln()....

Warum erstellst du denn in würfeln() ein neues Objekt??
 
Im allgemeinen ist es schlechter Stil im Konstruktor Methoden aufzurufen, die nichts mit der Initialisierung des Objekts zu tun haben.

Dein Spieleautomat Klasse braucht bisher keinen Konstruktor.
Java:
// Klasse / Bauplan des Spielautomats
public class Spieleautomat {
    public void wuerfeln() {
        System.out.println("Es wurde gewürfelt");
    }
}

Ich weiß nicht genau wie das in BlueJ gemacht wird, aber normalerweise ist der Einstiegspunkt in ein Java Programm die main() Methode. In dieser Methode musst du deinen Spieleautomaten erzeugen. Das machst du mit dem Schlüsselwort "new". Danach hast du eine Instanz deiner Klasse Spieleautomat.
Auf dieser Instanz, die du in der Variable "spielautomat" speicherst kannst du nun Methoden aufrufen.

Java:
public final class SpieleautomatBeispiel {
    // main Methode
    public static void main(String[] args) {
        // Spieleautomat wird erstellt.
        Spieleautomat spieleautomat = new Spieleautomat();
        // Methode wuefel wird aufgerufen
        spieleautomat.wuerfel();
    }
}

Zum allgemeinen Verständnis.
Eine Klasse ist sowas wie der Bauplan eines Objektes.
Wenn du aus dem Bauplan nun ein richtiges Produkt machen willst,
musst du ein Objekt erzeugen ("new") dann wird eine Instanz deiner Klasse erstellt.
 
Zuletzt bearbeitet:

Zurück
Oben