Intellij IDEA Programm ohne Main-Methode starten

Diskutiere Intellij IDEA Programm ohne Main-Methode starten im IDEs und Tools Forum; Liebe Community Wenn ich BlueJ benutze um folgendes Hello Word Programm zu schreiben, kann ich es ausführen und es gibt Hello World aus: public...

  1. markjoahnnes
    markjoahnnes Neues Mitglied
    Liebe Community
    Wenn ich BlueJ benutze um folgendes Hello Word Programm zu schreiben, kann ich es ausführen und es gibt Hello World aus:

    public class test {
    public static void df () {
    System.out.println("Hello");
    }
    public static void dh () {
    System.out.println("Hello World");
    }
    }

    Wenn ich dies in Intellij eingebe, kann ich es nicht ausführen; erst wenn ich ein Main-Methode implementiere.
    Hoffe ihr könnt mir helfen;)

    Mit freundlichen Grüßen
    Johannes
     
  2. Vielleicht hilft dir dieser Kurs hier weiter (Klick!)
  3. Robat
    Robat Bekanntes Mitglied
    Jedes Java-Programm braucht eine main-Methode .. es ist der Einstiegspunkt eines Programmes.
    BlueJ will es damit dem (Anfänger) Programmierer nur einfacher machen ..
     
  4. markjoahnnes
    markjoahnnes Neues Mitglied
    Und wie führt BlueJ das dann aus?
     
  5. Robat
    Robat Bekanntes Mitglied
    Wie genau BlueJ das im Hintergrund macht kann ich dir nicht sagen.
    BlueJ wird für den User eine main-Methode anlegen..
     
  6. markjoahnnes
    markjoahnnes Neues Mitglied
    Du sagtest, dass jedes Programm eine Main-Methode braucht. Ich habe aber mal gelsen, dass wenn man dieses Hello World Programm mit Objekten macht, man keine Main-Methode braucht. Ist eine Main-Methode also zwingend bei jedem Programm erforderlich?
     
  7. httpdigest
    httpdigest Mitglied
    Jedes Java Programm (bzw. jedes Programm, das auf der JVM ausgeführt werden möchte - also auch Scala, Groovy, etc.), egal was es tut, benötigt eine statische Methode, die "main" heißt, void als Rückgabetyp hat und einen einzelnen Parameter vom Typ String[] hat.
    Der Grund: Man gibt dem java/javaw Launcher-Programm, welches Teil des JRE ist, den Namen der auszuführenden Klasse als Kommandozeilenargument (oder lässt das automatisch durch die IDE tun) (bzw. im Falle eines ausführbaren jars, liest der Launcher diesen Klassennamen aus der /META-INF/MANIFEST.MF Datei im Jar).
    Man kann dem Launcher nicht auch noch den Namen der auszuführenden Methode mitgeben.
    Das ist einzig und allein eine Limitation des java/javaw Launchers im JRE. Mit Hilfe der "Java Invocation API" (https://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/invocation.html) könnte man sich einen eigenen Launcher bauen, um eine beliebige andere Methode aufzurufen.
    Ich habe aber keine Ahnung, ob BlueJ einen eigenen JVM-Launcher hat, den sie intern mit dem Namen der Methode füttern.
    Eher denke ich, wie @Robat auch schon sagte, dass BlueJ eine synthetische "main" Methode in die Klasse generiert, bevor sie vom java/javaw Launcher ausgeführt wird.
     
  8. markjoahnnes
    markjoahnnes Neues Mitglied
    Ja vielen Dank. Kann man hier Themen auf gelöst setzen?
     

Die Seite wird geladen...

Intellij IDEA Programm ohne Main-Methode starten - Ähnliche Themen

Intellij Idea reparieren
Intellij Idea reparieren im Forum Allgemeine Java-Themen
Kann Groovy nicht kompilieren auf intellij IDEA Hilfe!!
Kann Groovy nicht kompilieren auf intellij IDEA Hilfe!! im Forum JVM Sprachen: Scala, Groovy, Jython...
IntelliJ IDEA automatische Formatierung deaktivieren
IntelliJ IDEA automatische Formatierung deaktivieren im Forum IDEs und Tools
Idea IntelliJ - Starten der Mainmethode ?
Idea IntelliJ - Starten der Mainmethode ? im Forum IDEs und Tools
Umstieg von ADT (Eclipse) auf Android-Studio (IntelliJ IDEA)
Umstieg von ADT (Eclipse) auf Android-Studio (IntelliJ IDEA) im Forum IDEs und Tools
Thema: Intellij IDEA Programm ohne Main-Methode starten