Kako uporabljati metodo Java main():
Metoda main() se nahaja na začetku in koncu vsakega programa v Javi. Med izvajanjem se upoštevajo samo izjave, ki so v njenem obsegu. Zato je tako pomembno, da pazimo na vsako najmanjšo podrobnost sintakse metode. Če je nepravilna, program ne bo izveden.
Kaj je metoda main() v Javi?
Ne glede na to, kakšen projekt želite izvesti s programskim jezikom ali kakšen kratek ali obsežen kodek uporabljate zanj, v Javi se vsaka aplikacija začne z metodo main(). Če ta ni na voljo, kodek ni mogoče izvesti. Preden se ta prenese v main(), se Java Virtual Machine (JVM) naloži v pomnilnik in koda se kompilira. Ko so ti koraki zaključeni, se koda preveri z metodo Java main(). Nato se upa, da se izvede pravilno. Načeloma je mogoče uporabiti tudi več teh metod, pri čemer je največ ena glavna metoda na razred.
Kakšna je sintaksa metode Java main()?
Sintaksa metode Java main() je vedno enaka. Sestavljena je iz več pomembnih delov in izgleda takole:
public static void main(String[] args)javaTi sestavni deli izpolnjujejo naslednje funkcije:
public: Ta komponenta zagotavlja, da je razred dostopen tudi od zunaj.static: Ta del metodo deklarira kot statično, kar pomeni, da lahko obstaja, ne da bi bil vnaprej ustvarjen objekt določene razreda.void: To zagotavlja, da metodamain()v Javi ne mora vrniti vrednosti.main: To je tisto, kar Java Virtual Machine uporablja za identifikacijo metode, ko izvaja program.String[] args: To je niz, v katerem so shranjeni in prejeti argumenti ukazne vrstice.
Zakaj so posamezne sestavine main() pomembne?
Da bi bolje razumeli, kako deluje metoda Java main() in zakaj so vse komponente tako pomembne, jih bomo v naslednjih poglavjih pregledali posamično. Najpomembneje je, da vam bomo pokazali, kaj se zgodi, če manjka del podpisa. Za to bomo izbrali zelo preprost primer kode, ki ga bomo izpisali z ukazom Java System.out.println.
public class main {
public static void main(String[] args) {
System.out.println("Here is your sample text.");
}
}javaKo izvedete ta kod, boste prejeli naslednji izpis:
Here is your sample text.javapublic
public deluje kot specifikator dostopa in signalizira Java Virtual Machine, kje se izvaja ustrezen program. Obstajajo tudi drugi modificatorji dostopa, kot so default, private in protected. Če pa jih uporabite z metodo main() v Javi, boste prejeli sporočilo o napaki:
public class main {
private static void main(String[] args) {
System.out.println("Here is your sample text.");
}
}javaUstrezno vprašanje je:
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.ApplicationjavaTo sporočilo o napaki pomeni, da metoda ni javno dostopna.
static
Ključna beseda static potrjuje, da je uporabljena metoda statična. To pomeni, da se lahko uporablja neodvisno od primerov razredov. Če odstranite to komponento, bo koda izgledala takole:
public class main {
public void main(String[] args) {
System.out.println("Here is your sample text.");
}
}javaTukaj se prikaže tudi sporočilo o napaki:
Error: Main method is not static in class test, please define the main method as:
public static void main(String[] args)javavoid
void je ključna beseda, ki določa, da metoda main() v Javi ne sme vrniti nobenih vrednosti. Ker je main() začetni in končni točki programa v Javi, upodabljanje ni potrebno. Tako izgleda koda brez void:
public class main {
public static main(String[] args) {
System.out.println("Here is your sample text.");
}
}javaTo je sporočilo o napaki, ki ga prejmete, če izpustite 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
Za vsak program v Javi JVM najprej poišče identifikator main. Ta označuje, kje naj se izvajanje začne in konča. Takoj ko metoda main() v Javi konča izvajanje, se program zaključi. Zato podpis nikoli ne sme biti spremenjen ali dopolnjen. Tukaj je primer, kako izgleda sprememba podpisa:
public class main {
public static void replacementMain(String[] args) {
System.out.println("Here is your sample text.");
}
}javaKer JVM ne more najti identifikatorja, bo program takoj prekinil in izdal naslednje sporočilo o napaki:
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
Niz String[] args ustreza razredu java.lang.String in vsebuje podatke, ki jih shranjuje kot nizovne vrednosti. Če to specifikacijo izpustite, bo koda izgledala takole:
public class main {
public static void main() {
System.out.println("Here is your sample text.");
}
}javaBrez argumenta metoda Java main() ne more biti izvedena. Posledično boste ponovno prejeli naslednje sporočilo o napaki:
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.ApplicationjavaKakšne so alternativne pisave?
Primer kode, prikazan tukaj, je bil napisal v skladu z najpogostejšo sintakso. Vendar ga lahko enostavno prilagodite, da boste imeli boljši pregled. Na primer, lahko kvadratne oklepaje postavite neposredno za args. Tako bi izgledalo:
public static void main(String args[]) { }javaArgumente lahko shranite tudi kot spremenljive argumente (varargs). Za to morate uporabiti tropičje:
public static void main(String...args) { }javae279a09d81cf2d9a80f3ef29e7d04b0b
9355e88a23274d30eaac66bea1050fdd
d08ef900be5f8a1e6a80fab0895b7da2
ffcbdc9a7455426c4bf5f7060e972480
4748e69e1509025f6b105d9f3b402d2d
1a5178e6461bc0819cefc3a9cc63948d