Javina metoda main(). je izhodišče, od koder se JVM zažene izvajanje programa Java. JVM ne bo izvedel kode, če programu manjka glavna metoda. Zato je to ena najpomembnejših metod Jave in njeno pravilno razumevanje je zelo pomembno.
Prevajalnik Java ali JVM poišče glavno metodo, ko začne izvajati program Java. Podpis glavne metode mora biti na določen način, da JVM prepozna to metodo kot svojo vstopno točko. Če spremenimo podpis metode, se program prevede, vendar se ne izvede.
Izvedba programa Java, java.exe je poklican. Java.exe nato kliče Java Native Interface ali JNI in naložijo JVM. Java.exe razčleni ukazno vrstico, ustvari novo matriko nizov in prikliče metodo main(). Privzeto je glavna nit vedno nit, ki ni demon.
Sintaksa metode main().
Sintaksa metode main() je vedno zapisana kot:
velikonočna jajca v androidu

Primer
Najpogostejši pri definiranju metode main() je prikazan v spodnjem primeru.
Java // Java Program to demonstrate the // syntax of the main() function class techcodeview.com { public static void main(String[] args) { System.out.println('I am a Geek'); } }> Izhod
I am a Geek>
Vsaka beseda v javni statični void main izjava ima pomen v JVM, ki je opisan spodaj:
1. Javno
Je an Modifikator dostopa , ki določa, od kod in kdo lahko dostopa do metode. Če postane metoda main() javna, postane dostopna globalno. Javen je, tako da ga lahko JVM pokliče izven razreda, saj ni prisoten v trenutnem razredu.
Če glavna metoda ni javna, je njen dostop omejen.
primer:
Java // Java Program to demonstrate the // use of any other access modifier // other than public class techcodeview.com { private static void main(String[] args) { System.out.println('I am a Geek'); } }>
Izhod
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.Application>
2. Statični
Je ključna beseda to je, ko je povezan z metodo, zaradi česar je a metoda, povezana z razredom . The glavni () metoda je statična, tako da jo lahko JVM pokliče brez instanciranje razreda . To prav tako prihrani nepotrebno zapravljanje pomnilnika, ki bi ga uporabil objekt, najavljen samo za klicanje glavni () metodo JVM.
Če poskusite zagnati kodo Java, kjer main ni statična, boste prejeli napako.
primer:
Java // Java Program to demonstrate the // error occurred when we dont use the // static keyword in the main() method class techcodeview.com { public void main(String[] args) { System.out.println('I am a Geek'); } }>
Izhod
v polni obliki
Error: Main method is not static in class test, please define the main method as: public static void main(String[] args)>
3. Praznina
Je ključna beseda in je navajen določite, da metoda ne vrne ničesar . Kot je glavni () metoda ne vrne ničesar, njen tip vrnitve je praznina . Takoj, ko se glavni () se zaključi tudi program Java. Zato se nima smisla vračati iz glavni () metoda, saj JVM ne more storiti ničesar s svojo vrnjeno vrednostjo.
Če glavna metoda ni neveljavna, bomo prejeli napako.
primer:
Java // Java Program to demonstrate the // error occurred when we dont use the // void return type in the main() method class techcodeview.com { public static int main(String[] args) { System.out.println('I am a Geek'); return 1; } }>
Izhod
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)>
4. glavni
Je ime glavne metode Java . Je identifikator ki ga JVM išče kot začetno točko programa Java . To ni ključna beseda.
Če med zagonom glavne metode spremenimo ime, bomo prejeli napako.
primer:
Java // Java Program to demonstrate the // error occurred when we name the // main() method as newmain. class techcodeview.com { public static void newmain(String[] args) { System.out.println('I am a Geek'); } }>
Izhod
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.Application>
5. Argi niza[].
To shrani ukazno vrstico Java argumenti in je niz vrste java.lang.String razred. Tukaj je ime niza String args vendar ni fiksen in uporabnik lahko namesto njega uporabi katero koli ime.
primer: Postopek izvajanja niza []
Java // Java Program to demonstrate // the working of String[] args // in the main() method class techcodeview.com { // Commamd-Line Code ->// javac techcodeview.com.java // java techcodeview.com 1 2 3 public static void main(String[] args) { for (String elem : args) System.out.println(elem); } }>
Izhod
1 2 3>
Poleg zgoraj omenjenega podpisa main lahko uporabite public static void main(String args[]) oz public static void main(String…args) za klic glavne funkcije v Javi. Glavna metoda se pokliče, če se njen formalni parameter ujema s parametrom matrike nizov.
Opomba: Glavna metoda je v Javi Cumpulosory
markdown slike
Preobremenitev metode main() v Javi
Preobremenitev metode main() je možna v Javi, kar pomeni, da lahko v programu ustvarimo poljubno število metod main().
Če želite preobremeniti metodo main() v Javi, moramo ustvariti metodo main() z različnimi parametri.
primer:
Java public class Main { public static void main(String[] args) { if (args.length == 0) { System.out.println('Running main() with no arguments'); } else if (args.length == 1) { try { int value = Integer.parseInt(args[0]); main(value); } catch (NumberFormatException e) { main(args[0]); } } else { // Handle more arguments as needed } } public static void main(int value) { System.out.println('Running main() with integer argument: ' + value); } public static void main(String message) { System.out.println('Running main() with string argument: ' + message); } }> Izhod:
Running main() with no arguments>
Zaključek
Metoda Java main() je začetna točka programa Java. To je glavno telo, ki ga izvaja JVM, in brez metode main() ni mogoče zagnati nobenega programa Java brez nje.
Nauči se več: Vadnica za Java
Java main() metoda - pogosta vprašanja
Ali je lahko glavna metoda int? Če ne, zakaj?
Ne, glavna metoda Jave ne more biti int. Za to sta dva glavna razloga:
jdbc
- JVM išče public static void main(String[] args) ob začetku izvajanja programa, saj je to standardni podpis za vnos. Uporaba podpisa int bi povzročila zmedo in težave z združljivostjo med izvajanjem programa.
- Ničen podpis pomeni, da glavna metoda ne bo vrnila ničesar, uporaba int podpisa pa pomeni, da bo morala glavna funkcija vrniti celo število, kar ni uporabno za JVM.
Ali lahko izvedemo program Java brez glavne metode?
Ne, od JDK7 Glavna metoda je obvezna. Prevajalnik bo najprej preveril, ali je main() prisoten ali ne. Če vaš program ne vsebuje glavne metode, boste prejeli sporočilo o napaki, da glavne metode ni mogoče najti v razredu.
Če želite izvedeti več o temi, glejte Ali je glavna metoda obvezna v Javi? Članek.
Ali lahko deklariramo metodo main() brez argumentov String[]?
Da, metodo main() lahko deklariramo brez argumentov String[]. Čeprav bo ustvaril sporočilo o napaki, če bomo neposredno poskušali izvesti glavno metodo znotraj razreda gonilnika, kot je storjeno v spodnjem primeru.
Spodaj je pravilna metoda za pisanje programa brez argumentov String[].
Javaimport java.io.*; import javafx.application.Application; abstract class GFG extends javafx.application.Application { // static block static { System.out.println('Hello, world!'); System.exit(0); } }>Izhod
Hello, world!>
Zakaj je main void v Javi?
Glavna metoda služi kot izhodišče za izvajanje programa v Javi. JVM ne pričakuje povratne vrednosti od glavnega, ker ni mehanizma za sprejem ali obdelavo takšne vrednosti.