2010-10-16 17 views
6
public static void main(String[] args) 
{ 
    boolean t=true; 
    System.out.println("Before return"); 
    if(t) return; 
    System.out.println("not execute"); 
} 

W powyższym kodzie, gdy jest używany return, powinien powrócić do funkcji wywołującej funkcję główną. Kto dokładnie nazywa funkcję main?Kto wywołuje główną funkcję w języku Java?

+1

Możesz wywołać jedną główną metodę z drugiej, jak również wywołać ją w programie uruchamiającym. –

Odpowiedz

10

Klasy Java są wykonywane w szerszym kontekście (konkretna maszyna JVM, jak zauważyli inni). Poniżej przedstawiamy kilka możliwości:

We wszystkich przypadkach metoda main() jest kanonicznym punktem wejścia do wykonywania kodu danej klasy. Od docs na java JVM:

OPIS

Narzędzie java uruchamia aplikację Java. Robi to, uruchamiając środowisko wykonawcze Java, ładując określoną klasę i wywołując główną metodę tej klasy. Deklaracja metoda musi wyglądać następująco:

public static void main(String args[]) 

Metoda musi zostać uznany publicznej i statyczne, nie musi zwracać żadnej wartości, a to musi zaakceptować tablicę ciągów jako parametr. Domyślnie pierwszym argumentem nie będącym opcją jest nazwa klasy, która ma zostać wywołana. Należy użyć w pełni kwalifikowanej nazwy klasy. Jeśli podano opcję -jar, pierwszym nie-opcyjnym argumentem jest nazwa archiwum JAR zawierającego pliki klas i zasobów dla aplikacji z klasą uruchomienia wskazaną przez nagłówek manifestu klasy głównej.

Środowisko wykonawcze Java wyszukuje klasę uruchamiania i inne używane klasy w trzech zestawach lokalizacji: ścieżka klasy bootstrap, zainstalowane rozszerzenia i ścieżka klasy użytkownika.

Nieopisane argumenty po nazwie klasy lub pliku JAR są przekazywane do funkcji głównej.

Polecenie javaw jest identyczne z java, z tym że przy javaw nie ma skojarzonego okna konsoli. Użyj javaw, gdy nie chcesz, aby pojawiło się okno wiersza polecenia. Program uruchamiający javaw wyświetli jednak okno dialogowe z informacjami o błędach, jeśli uruchomienie z jakiegoś powodu nie powiedzie się.

stan Ty:

W powyższym kodzie, gdy zwrot jest używany to powinien wrócić do funkcji, która wywołuje główną funkcję.

Nie może być dowolny inna funkcja Java (w rzeczywistości zazwyczaj nie jest), która wywołuje funkcję main(). Jest to konwencja dotycząca deklarowania dobrze znanego punktu wejścia. Jeśli JVM zostanie uruchomiona w celu uruchomienia metody klasy main(), to po powrocie main() JVM zostanie zakończona, z wyjątkiem kilku szczególnych przypadków, np. są inne wątki inne niż demony lub jest hak zamykający.

+0

W swojej wycenie mojego oświadczenia brakuje mojej klauzuli kwalifikacyjnej: "z wyjątkiem kilku szczególnych przypadków, np. Istnieją inne wątki inne niż demony, lub jest hak zamykający." który obejmuje twoje obawy. –

17

Wirtualna maszyna języka Java.

0

JVM używa main() jako punkt wyjścia dla programu podobnie jak int main() w C++.

0

Zgadzam się z powyższymi instrukcjami jako JVM wywołuje główną metodę, ponieważ jest to punkt wejścia do każdej klasy, która musi zostać załadowana w celu wykonania klasy.

0

Jvm rozpoczyna główny wątek, aby wywołać metodę główną.

Powiązane problemy