Java galvenā () metode ir sākuma punkts, no kurienes JVM sāk Java programmas izpildi. JVM neizpildīs kodu, ja programmai trūkst galvenās metodes. Tādējādi tā ir viena no vissvarīgākajām Java metodēm, un ir ļoti svarīgi to pareizi saprast.
Java kompilators vai JVM meklē galveno metodi, kad tas sāk Java programmas izpildi. Galvenās metodes parakstam ir jābūt noteiktā veidā, lai JVM atpazītu šo metodi kā ieejas punktu. Ja mainām metodes parakstu, programma kompilējas, bet neizpilda.
Java programmas izpilde, java.exe tiek saukts. Java.exe savukārt veic Java Native Interface vai JNI zvanus, un tie ielādē JVM. Programma java.exe parsē komandrindu, ģenerē jaunu virknes masīvu un izsauc main() metodi. Pēc noklusējuma galvenais pavediens vienmēr ir bezdēmona pavediens.
Main() metodes sintakse
Main() metodes sintakse vienmēr tiek rakstīta šādi:
pašreizējais datums java

Piemērs
Visizplatītākā galvenā() metodes definēšanas metode ir parādīta zemāk esošajā piemērā.
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'); } }> Izvade
I am a Geek>
Katrs vārds publisks statisks tukšums galvenais paziņojumam ir nozīme JVM, kas aprakstīta tālāk:
1. Publisks
Tas ir an Piekļuves modifikators , kas norāda, no kurienes un kas var piekļūt metodei. Main() metodes publiskošana padara to pieejamu globāli. Tas tiek publiskots, lai JVM varētu to izsaukt ārpus klases, jo pašreizējā klasē tā nav.
Ja galvenā metode nav publiska, piekļuve tai ir ierobežota.
Piemērs:
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'); } }>
Izvade
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. Statisks
Tas ir atslēgvārds tas ir, ja tas ir saistīts ar metodi, padarot to a ar klasi saistīta metode . The galvenais () metode ir statiska, lai JVM varētu to izsaukt bez tās klases instantivēšana . Tas arī ietaupa nevajadzīgu atmiņas zudumu, ko objekts, kas deklarēts, būtu izmantojis tikai, lai izsauktu galvenais () metodi JVM.
Ja mēģināt palaist Java kodu, kur galvenais nav statisks, jūs saņemsit kļūdu.
Piemērs:
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'); } }>
Izvade
java maisot uz int
Error: Main method is not static in class test, please define the main method as: public static void main(String[] args)>
3. Nederīgs
Tas ir atslēgvārds un ir pieradis norādiet, ka metode neko neatgriež . Kā galvenais () metode neko neatgriež, tās atgriešanas veids ir nederīgs . Tiklīdz galvenais () metode tiek pārtraukta, tiek pārtraukta arī Java programma. Tāpēc nav jēgas atgriezties no galvenais () metodi, jo JVM nevar darīt neko ar tās atgriešanās vērtību.
Ja galvenā metode nav spēkā neesoša, mēs saņemsim kļūdu.
Piemērs:
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; } }>
Izvade
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. galvenais
Tas ir Java galvenās metodes nosaukums . Tas ir identifikators ko JVM meklē kā Java programmas sākuma punkts . Tas nav atslēgvārds.
Ja mainīsim nosaukumu, uzsākot galveno metodi, mēs saņemsim kļūdu.
Piemērs:
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'); } }>
Izvade
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. String[] args
Tas saglabā Java komandrindu argumenti un ir veidu masīvs java.lang.String klasē. Šeit ir virknes masīva nosaukums args bet tas nav fiksēts, un lietotājs var izmantot jebkuru nosaukumu tā vietā.
Piemērs: Virknes izpildes process[]
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); } }>
Izvade
1 2 3>
Neatkarīgi no iepriekš minētā galvenā paraksta, jūs varētu izmantot public static void main (virknes args[]) vai publiska statiskā tukšuma galvenā (virkne… args) lai izsauktu Java galveno funkciju. Galvenā metode tiek izsaukta, ja tās formālais parametrs atbilst virkņu masīva parametram.
Piezīme: Java valodā galvenā metode ir obligāta
savienojumi un savienojumu veidi
Main() metodes pārslodze Java valodā
Java ir iespējama main() metodes pārslodze, kas nozīmē, ka programmā mēs varam izveidot neierobežotu skaitu main() metožu.
Lai pārslogotu main() metodi Java, mums ir jāizveido main() metode ar dažādiem parametriem.
Piemērs:
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); } }> Izvade:
Running main() with no arguments>
Secinājums
Java main() metode ir Java programmas sākumpunkts. Tas ir galvenais korpuss, ko izpilda JVM, un bez metodes main() nevienu Java programmu nevar palaist bez tās.
Uzzināt vairāk: Java apmācība
Java main() metode- FAQ
Vai galvenā metode var būt int? Ja nē, kāpēc?
Nē, Java galvenā metode nevar būt int. Tam ir divi galvenie iemesli:
- JVM meklē public static void main(String[] args) uzsākot programmas izpildi, jo tas ir standarta paraksts ievadei. Int paraksta izmantošana programmas izpildes laikā radītu neskaidrības un saderības problēmas.
- Ja paraksts ir nederīgs, galvenā metode neko neatgriezīs, bet, izmantojot int parakstu, galvenajai funkcijai būs jāatgriež vesels skaitlis, kas nav noderīgi JVM.
Vai mēs varam izpildīt Java programmu bez galvenās metodes?
Nē, no JDK7 galvenā metode ir obligāta. Kompilators vispirms pārbaudīs, vai main() ir vai nav. Ja jūsu programmā nav galvenās metodes, jūs saņemsit kļūdas galveno metodi, kas klasē nav atrasta.
Lai uzzinātu vairāk par tēmu, skatiet Vai Java ir obligāta galvenā metode? rakstu.
Vai mēs varam deklarēt galveno () metodi bez String[] args?
Jā, mēs varam deklarēt galveno () metodi bez String[] args. Lai gan tas radīs kļūdas ziņojumu, ja mēs tieši mēģināsim izpildīt galveno metodi draivera klasē, kā tas izdarīts zemāk esošajā piemērā.
Tālāk ir norādīta pareizā metode, kā rakstīt programmu bez virknes args[].
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); } }>Izvade
ievietošanas kārtošanaHello, world!>
Kāpēc Java ir galvenais tukšums?
Galvenā metode kalpo kā sākumpunkts programmas izpildei Java. JVM nesagaida atgriešanās vērtību no galvenās, jo nav mehānisma, kā saņemt vai apstrādāt šādu vērtību.