logo

Java main() metodas

Main () yra JVM pradžios taškas pradėti Java programos vykdymą. Be main() metodo JVM nevykdys programos. Metodo main() sintaksė yra tokia:

Pagrindinis Java metodas

viešas: Tai prieigos specifikatorius. Prieš main() metodą turėtume naudoti viešąjį raktinį žodį, kad JVM galėtų nustatyti programos vykdymo tašką. Jei prieš main() metodą naudosime privatų, apsaugotą ir numatytąjį, jis nebus matomas JVM.

statinis: Metodą galite padaryti statinį naudodami raktinį žodį statinis. Turėtume iškviesti main() metodą nesukūrę objekto. Statiniai metodai yra metodas, kuris iškviečiamas nesukūrus objektų, todėl mums nereikia jokio objekto, kad iškviestume pagrindinį () metodą.

tuštuma: Java programoje kiekvienas metodas turi grąžinimo tipą. Void raktažodis patvirtina kompiliatorių, kad main() metodas negrąžina jokios reikšmės.

pagrindinis (): Tai numatytasis parašas, kuris iš anksto nustatytas JVM. JVM jį iškviečia eilutę po eilutės vykdyti programą ir užbaigti vykdymą užbaigus šį metodą. Taip pat galime perkrauti main() metodą.

Styginių args[]: Pagrindinis() metodas taip pat priima kai kuriuos duomenis iš vartotojo. Jis priima eilučių grupę, kuri vadinama eilučių masyvu. Jis naudojamas komandų eilutės argumentams laikyti eilutės reikšmių pavidalu.

 main(String args[]) 

Čia agrs[] yra masyvo pavadinimas ir jis yra eilutės tipo. Tai reiškia, kad jis gali saugoti eilučių grupę. Atminkite, kad šis masyvas taip pat gali saugoti skaičių grupę, bet tik eilutės pavidalu. Vertės, perduotos main() metodui, vadinamos argumentais. Šie argumentai saugomi args[] masyve, todėl dažniausiai tam naudojamas pavadinimas args[].

Kas atsitiks, jei main() metodas parašytas be String args[]?

Programa kompiliuos, bet nepaleis, nes JVM neatpažins main() metodo. Atminkite, kad JVM visada ieško main() metodo, kurio parametras yra eilutės tipo masyvas.

Vykdymo procesas

Pirmiausia JVM vykdo statinį bloką, tada vykdo statinius metodus, o tada sukuria programai reikalingą objektą. Galiausiai jis vykdo egzempliorių metodus. JVM vykdo statinį bloką aukščiausio prioriteto pagrindu. Tai reiškia, kad JVM pirmiausia pereina į statinį bloką, net prieš tai programoje ieškodamas main() metodo.

Pavyzdys

 class Demo { static //static block { System.out.println('Static block'); } public static void main(String args[]) //static method { System.out.println('Static method'); } } 

Išvestis:

 Static block Static method 

Pastebime, kad JVM pirmiausia vykdo statinį bloką, jei jis yra programoje. Po to jis ieško main() metodo. Jei pagrindinis() metodas nerastas, jis pateikia klaidą.

Pavyzdys

Programa, kuri neturi main() metodo, pateikia klaidą vykdymo metu.

 class DemoStaticBlock { Static //static block { System.out.println('Static block'); } } 

Išvestis:

 Error: Main method not found in the class Demo, please define the main method as: public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application 

Taigi pagrindinis () metodas visada turėtų būti parašytas taip:

 public static void main(String args[]) 

Galime sukeisti viešąjį ir statinį ir parašyti taip:

 static public void main(String args[]) 

Taip pat galime naudoti skirtingą eilutės tipo masyvo pavadinimą ir parašyti jį kaip:

 static public void main(String[] x) 

Skirtingi main() metodo rašymo būdai yra šie:

 static public void main(String []x) static public void main(String...args) 

Styga...args: Tai leidžia metodui priimti nulį arba kelis argumentus. Tarp eilutės ir masyvo turi būti tiksliai trys taškai; kitu atveju pateikia klaidą.

Pavyzdys

Programa, kuri neturi main() metodo, bet yra kompiliuojama ir sėkmingai veikia.

 abstract class DemoNoMain extends javafx.application.Application { static //static block { System.out.println('Java'); System.exit(0); } } 

Išvestis:

 Java 

Main() metodo perkrova

Taip pat galime perkrauti main() metodą. Klasėje galime apibrėžti bet kokį main() metodo skaičių, tačiau metodo parašas turi skirtis.

Pavyzdys

 class OverloadMain { public static void main(int a) //overloaded main method { System.out.println(a); } public static void main(String args[]) { System.out.println('main method incoked'); main(6); } } 

Išvestis:

kaip rasti paslėptas programas „Android“.
 main method invoked 6