Kaip naudoti Java metodą main():
main() metodas yra kiekvienos Java programos pradžioje ir pabaigoje. Vykdymo metu atsižvelgiama tik į jo taikymo srityje esančius teiginius. Todėl labai svarbu atkreipti dėmesį į kiekvieną metodo sintaksės detalę. Jei ji yra neteisinga, programa nebus vykdoma.
Kas yra main() metodas Java kalboje?
Nesvarbu, kokį projektą norite įgyvendinti naudojant programavimo kalbą ar kokį glaustą ar išsamų kodą tam naudojate, Java kalboje kiekviena programa prasideda nuo main() metodo. Jei jis nėra prieinamas, kodas negali būti vykdomas. Prieš perduodant jį main(), Java Virtual Machine (JVM) įkeliama į atmintį ir kodas kompiliuojamas. Atlikus šiuos veiksmus, kodas patikrinamas naudojant Java main() metodą. Tada jis, tikimasi, bus teisingai vykdomas. Iš esmės taip pat galima naudoti kelis iš šių metodų, tačiau maksimalus skaičius yra vienas pagrindinis metodas vienai klasei.
Kokia yra Java metodo main() sintaksė?
Java main() metodo sintaksė visada yra ta pati. Ji susideda iš kelių svarbių dalių ir atrodo taip:
public static void main(String[] args)javaŠie komponentai atlieka šias funkcijas:
public: Šis komponentas užtikrina, kad klasė taip pat būtų prieinama iš išorės.static: Ši dalis deklaruoja metodą kaip statinį, o tai reiškia, kad jis gali egzistuoti be iš anksto sukurto konkrečios klasės objekto.void: Tai užtikrina, kadmain()metodas Java kalboje neturi grąžinti vertės.main: Tai yra tai, ką Java Virtual Machine naudoja metodui identifikuoti, kai vykdo programą.String[] args: Tai yra masyvas, kuriame saugomi ir gaunami komandinės eilutės argumentai.
Kodėl main() atskiri komponentai yra svarbūs?
Norėdami geriau suprasti, kaip veikia Java main() metodas ir kodėl visi komponentai yra tokie svarbūs, tolesniuose skyriuose juos apžvelgsime atskirai. Svarbiausia, parodysime, kas atsitinka, jei trūksta dalies parašo. Tam pasirinksime labai paprastą kodo pavyzdį, kurį išvesime naudodami Java komandą System.out.println.
public class main {
public static void main(String[] args) {
System.out.println("Here is your sample text.");
}
}javaKai vykdysite šį kodą, gausite tokį rezultatą:
Here is your sample text.javapublic
public veikia kaip prieigos specifikatorius ir signalizuoja Java virtualiai mašinai, kur vykdoma atitinkama programa. Yra ir kitų prieigos modifikatorių, pvz., numatytasis, privatus ir apsaugotas. Tačiau, jei juos naudosite su main() metodu Java, gausite klaidos pranešimą:
public class main {
private static void main(String[] args) {
System.out.println("Here is your sample text.");
}
}javaAtitinkamas klausimas yra:
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.ApplicationjavaŠis klaidos pranešimas reiškia, kad nėra viešos prieigos prie metodo.
static
Raktinis žodis static patvirtina, kad naudojamas metodas yra statinis. Tai reiškia, kad jis gali būti naudojamas nepriklausomai nuo klasės instancų. Jei pašalinsite šį komponentą, kodas atrodys taip:
public class main {
public void main(String[] args) {
System.out.println("Here is your sample text.");
}
}javaČia taip pat gaunate klaidos pranešimą:
Error: Main method is not static in class test, please define the main method as:
public static void main(String[] args)javavoid
void yra raktinis žodis, kuris nurodo, kad main() metodas Java kalboje neturėtų grąžinti jokių verčių. Kadangi main() yra programos Java kalboje pradžia ir pabaiga, atvaizdavimas yra nereikalingas. Štai kaip atrodo kodas be void:
public class main {
public static main(String[] args) {
System.out.println("Here is your sample text.");
}
}javaTai yra klaidos pranešimas, kurį gausite, jei praleisite 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
Kiekvienai Java programai JVM pirmiausia ieško identifikatoriaus main. Tai nurodo, kur turi prasidėti ir baigtis vykdymas. Kai tik Java main() metodas baigia vykdymą, programa uždaroma. Todėl parašo niekada negalima keisti ar papildyti. Štai pavyzdys, kaip atrodo parašo pakeitimas:
public class main {
public static void replacementMain(String[] args) {
System.out.println("Here is your sample text.");
}
}javaKadangi JVM negali rasti identifikatoriaus, ji tiesiogiai nutrauks programą ir išduos šią klaidos žinutę:
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
String[] args masyvas atitinka java.lang.String klasę ir jame saugomi duomenys, kurie yra išsaugomi kaip styginių reikšmės. Jei šią specifikaciją praleisite, kodas atrodys taip:
public class main {
public static void main() {
System.out.println("Here is your sample text.");
}
}javaBe argumento Java main() metodas negali būti vykdomas. Dėl to vėl gausite šią klaidos žinutę:
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.ApplicationjavaKokios yra alternatyvios rašybos?
Čia pateiktas kodo pavyzdys buvo parašytas pagal labiausiai paplitusią sintaksę. Tačiau jį galite lengvai pritaikyti, kad būtų lengviau suprasti. Pavyzdžiui, kvadratines skliausteles galite įdėti tiesiai po args. Tai atrodytų taip:
public static void main(String args[]) { }javaArgumentus taip pat galite saugoti kaip kintamus argumentus (varargs). Tam reikia naudoti trikampį:
public static void main(String...args) { }javae279a09d81cf2d9a80f3ef29e7d04b0b
9355e88a23274d30eaac66bea1050fdd
d08ef900be5f8a1e6a80fab0895b7da2
ffcbdc9a7455426c4bf5f7060e972480
4748e69e1509025f6b105d9f3b402d2d