A Java main() metódus használata:
A main() metódus minden Java program elején és végén található. A végrehajtás során csak a hatókörén belül lévő utasításokat veszi figyelembe. Ezért olyan fontos, hogy a metódus szintaxisának minden apró részletére figyeljünk. Ha helytelen, a program nem fog végrehajtódni.
Mi az a main() módszer Java-ban?
Függetlenül attól, hogy milyen projektet szeretne megvalósítani a programozási nyelvvel, vagy milyen tömör vagy kiterjedt kódot használ ehhez, a Java-ban minden alkalmazás a main() metódussal indul. Ha ez nem áll rendelkezésre, a kód nem futtatható. Mielőtt ez átkerülne main(), a Java virtuális gép (JVM) betöltődik a memóriába, és a kód lefordításra kerül. Miután ezek a lépések befejeződtek, a kód a Java main() metódussal ellenőrizésre kerül. Ezután remélhetőleg helyesen futtatható. Elvileg több ilyen metódus is használható, de osztályonként legfeljebb egy fő metódus lehet.
Mi a Java main() metódus szintaxisa?
A Java main() metódus szintaxisa mindig ugyanaz. Több fontos részből áll, és így néz ki:
public static void main(String[] args)javaEzek az alkatrészek a következő funkciókat látják el:
public: Ez a komponens biztosítja, hogy egy osztály külső forrásokból is elérhető legyen.static: Ez a rész a metódust statikusnak nyilvánítja, ami azt jelenti, hogy létezhet anélkül, hogy előzetesen létrehoztak volna egy adott osztály objektumát.void: Ez biztosítja, hogy a Javamain()metódusának ne kelljen értéket visszaadnia.main: Ezt használja a Java virtuális gép a metódus azonosítására, amikor egy programot futtat.String[] args: Ez egy tömb, amelyben a parancssori argumentumok tárolódnak és fogadódnak.
Miért fontosak a main() egyes összetevői?
Ahhoz, hogy jobban megértsük, hogyan működik a Java main() módszer, és miért olyan fontosak az összes komponensek, a következő szakaszokban egyenként megvizsgáljuk őket. A legfontosabb, hogy megmutatjuk, mi történik, ha a szignatúra egy része hiányzik. Ehhez egy nagyon egyszerű kódpéldát választunk, amelyet a Java parancs System.out.println segítségével adunk ki.
public class main {
public static void main(String[] args) {
System.out.println("Here is your sample text.");
}
}javaA kód végrehajtásakor a következő eredményt kapja:
Here is your sample text.javapublic
public hozzáférési specifikátorként működik, és jelzi a Java virtuális gépnek, hogy hol futtatja a megfelelő programot. Vannak más hozzáférési módosítók is, például a default, a private és a protected. Ha azonban ezeket a main() metódussal használja Java-ban, hibaüzenetet kap:
public class main {
private static void main(String[] args) {
System.out.println("Here is your sample text.");
}
}javaA megfelelő kérdés:
Error: Main method not found in class, please define the main method as:
public static void main(String[] args)
or a JavaFX application class must extend javafx.application.ApplicationjavaEz a hibaüzenet azt jelzi, hogy a módszerhez nincs nyilvános hozzáférés.
static
A static kulcsszó megerősíti, hogy a használt módszer statikus. Ez azt jelenti, hogy osztálypéldányoktól függetlenül használható. Ha ezt a komponenst eltávolítjuk, a kód így fog kinézni:
public class main {
public void main(String[] args) {
System.out.println("Here is your sample text.");
}
}javaItt is hibaüzenet jelenik meg:
Error: Main method is not static in class test, please define the main method as:
public static void main(String[] args)javavoid
void egy kulcsszó, amely meghatározza, hogy a Java main() metódusa nem adhat vissza értéket. Mivel main() a Java programok kezdő- és végpontja, a renderelés felesleges. Így néz ki a kód void nélkül:
public class main {
public static main(String[] args) {
System.out.println("Here is your sample text.");
}
}javaEz az a hibaüzenet, amelyet akkor kapsz, ha kihagyod void:
Error: Main method must return a value of type void in class Main, please define the main method as:
public static void main(String[] args)javamain
Minden Java program esetében a JVM először a main azonosítót keresi. Ez jelzi, hol kell megkezdeni és befejezni a végrehajtást. Amint a Java main() metódusa befejezi a végrehajtást, a program leáll. Ezért soha nem szabad megváltoztatni vagy kiegészíteni az aláírást. Íme egy példa arra, hogyan néz ki az aláírás megváltoztatása:
public class main {
public static void replacementMain(String[] args) {
System.out.println("Here is your sample text.");
}
}javaMivel a JVM nem találja az azonosítót, közvetlenül leállítja a programot, és a következő hibaüzenetet jeleníti meg:
Error: Main method not found in class, please define the main method as:
public static void main(String[] args)
or a JavaFX application class must extend javafx.application.ApplicationjavaString[] args
A String[] args tömb a java.lang.String osztálynak felel meg, és olyan adatokat tartalmaz, amelyeket karakterláncértékekként tárol. Ha ezt a specifikációt kihagyja, a kód a következőképpen fog kinézni:
public class main {
public static void main() {
System.out.println("Here is your sample text.");
}
}javaAz argumentum nélkül a Java main() metódus nem futtatható. Ennek eredményeként ismét a következő hibaüzenet jelenik meg:
Error: Main method not found in class, please define the main method as:
public static void main(String[] args)
or a JavaFX application class must extend javafx.application.ApplicationjavaMilyen alternatív írásmódok léteznek?
Az itt bemutatott kódpélda a leggyakoribb szintaxis szerint íródott. Azonban könnyen átalakíthatja, hogy jobb áttekinthetőséget biztosítson magának. Például a szögletes zárójeleket közvetlenül args után helyezheti el. Így fog kinézni:
public static void main(String args[]) { }javaAz argumentumokat változó argumentumokként (varargs) is tárolhatja. Ehhez három pontot kell használnia:
public static void main(String...args) { }java