it-swarm.com.de

Wie führt man eine Java-.class-Datei aus einer anderen .class-Datei aus? (Java Newb)

Ich habe verschiedene Java-Java-Dateien in den Netbeans IDE ausgeführt, indem Sie im Projekt-Explorer von Netbeans mit der rechten Maustaste auf die .Java-Dateien geklickt haben (der Teil, der sich normalerweise im oberen linken Teil von Netbeans befindet).

Ich habe jedoch gegoogelt, wie man eine Klassendatei dazu bringt, eine andere Klassendatei mit Code auszuführen, aber ohne Erfolg.

Ich habe ein Projekt namens "loadanotherfile" mit 2 Dateien, nämlich: Loadanotherfile.Java und otherfile.Java

Ich versuche, Loadanotherfile.Java so zu konfigurieren, dass otherfile.Java ausgeführt wird, aber ich bin nicht ganz sicher, wie. Ich habe über Classloader und URLClassloader gelesen. Diese Methoden scheinen jedoch nicht geeignet zu sein, um eine andere .Java-Datei auszuführen. 

Unten ist der Code der 2 Dateien, die ich erwähnt habe.

Loadanotherfile.Java

package loadanotherfile;

public class Loadanotherfile {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        System.out.println("Hello World!");
        // TODO code application logic here
    }
}

otherfile.Java

package loadanotherfile;

public class otherfile {

    public static void main(String args[])
    {
        System.out.println("This is the other file.");
    }
}

Ich habe das Gefühl, dass die Aufgabe etwas mit der "import" -Syntax zu tun hat (nämlich etwas wie import loadanotherfile. * aber selbst wenn meine Vermutung richtig ist, bin ich immer noch nicht sicher, wie ich meine Loadanotherfile erstellen soll .Java run otherfile.Java mit Code.

Wie kann ich otherfile.Java mit Loadanothefile.java laden?

Prost

9

In Loadanotherfile.Java

otherfile.main(args);
12
Matt Clark

Kompiliere die beiden zusammen und dann aus Loadanotherfile

otherfile.main(args);

wird den Trick tun. Sie müssen nicht importieren, da Sie sich im selben package befinden. Beachten Sie das verknüpfte Tutorial.

Ich würde die Klasseninstanziierung jedoch untersuchen und eine Instanz einer neuen Klasse erstellen, die dann aufgerufen wird. Das Aufrufen statischer Methoden aus statischen Methoden ist nicht sehr einfach.

7
Brian Agnew

Versuche dies:

className.main(Args){
}

Das funktioniert! Ich habe es selbst getestet.

2
user3343456

Überprüfen Sie die public void main-Zeile. Wenn dort IOException und nicht da ist, dann insertin Loadanotherfile.Java

benutze das 

otherfile.main(args);{
}
0
DNS v4.7