2012-11-01 11 views
9

Uruchomiłem różne pojedyncze pliki Java .java w IDE Netbeans, klikając prawym przyciskiem myszy pliki .java w Eksploratorze projektu Netbeans (zazwyczaj w górnej lewej części Netbeans).Jak uruchomić plik Java .class z innego pliku .class? (java newb)

Jednakże, szukałem w Google sposobu, w jaki można utworzyć plik klasy, uruchamiając inny plik klasy za pomocą kodu, ale bez skutku.

Mam projekt o nazwie "loadanotherfile" z 2 plików, a mianowicie: Loadanotherfile.java i otherfile.java

Próbuję zrobić Loadanotherfile.java uruchomić otherfile.java, ale nie jestem do końca pewien, w jaki sposób. Czytałem o Classloaders i URLClassloaders jednak te metody nie wydają się odpowiednie dla mojego celu uruchomienia innego pliku .java.

Poniżej znajduje się kod dwóch wymienionych plików.

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."); 
    } 
} 

Mam wrażenie, że zadanie ma coś wspólnego z użyciem składni "importowanej" (czyli coś jak import loadanotherfile. * ale nawet jeśli moje przypuszczenie jest poprawne, nadal nie jestem pewien, jak zrobić mój plik Loadanotherfile.java inny plik .java przy użyciu kodu.

Jak mogę załadować plik otherfile.java przy użyciu pliku Loadanothefile.java?

Cheers

+1

Celem uruchomiony inny plik klasy nie jest jasne. Aby załadować klasę do pamięci, możesz użyć metody 'Class.forName (" className ");', określając nazwę klasy jako parametr. – Chaitanya

Odpowiedz

10

W Loadanotherfile.java

otherfile.main(args); 
+0

To załatwiło sprawę. Dzięki! –

7

Kompilacja dwóch razem, a następnie z Loadanotherfile,

otherfile.main(args); 

rade. Nie musisz importować, ponieważ jesteś w tym samym package. Zwróć uwagę na połączony samouczek.

Chciałbym zbadać (jednak) instancję klasy i stworzyć instancję nowej klasy do wywołania. Wywoływanie statycznych metod z metod statycznych nie jest zbytnio OO.

+0

tak, to załatwiło sprawę, musiałem dodać linię podobną do odpowiedzi Matta Clarka (otherfile otherFile = new otherfile();) dzięki! –

+0

@LastManStanding Nie musisz dodawać dodatkowej linii. To zadziała bez tego. – maba

+0

@LastManStanding, jeśli musiałeś to zrobić, to 'main()' z 'otherfile' nie jest' statyczne' jak to określiłeś. – rid

2

Spróbuj to:

className.main(Args){ 
} 

To działa! testowałem to sam.

0

Sprawdź linię public void main. Jeśli nie IOException a nie tam włóż w Loadanotherfile.java

użycie tego

otherfile.main(args);{ 
} 
Powiązane problemy