Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
MethodenBeim Start meines Projektes eine Methode ausführen
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 ^^
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??
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.