main() metode atrodas katras Java prog­ram­mas sākumā un beigās. Izpildes laikā tiek ņemti vērā tikai tie ap­gal­vo­ju­mi, kas atrodas tās darbības jomā. Tāpēc ir tik svarīgi pievērst uzmanību katrai metodes sintakses detaļai. Ja tā ir nepareiza, programma netiks izpildīta.

Kas ir main() metode Java?

Ne­at­ka­rī­gi no tā, kādu projektu vēlaties īstenot ar prog­ram­mē­ša­nas valodu vai kādu īsu vai plašu kodu iz­man­to­jat, Java valodā katra lie­to­jum­prog­ram­ma sākas ar main() metodi. Ja tā nav pieejama, kodu nevar izpildīt. Pirms tas tiek nodots main(), Java virtuālā mašīna (JVM) tiek ielādēta atmiņā un kods tiek kompilēts. Pēc šo soļu pa­beig­ša­nas kods tiek pār­bau­dīts ar Java main() metodi. Tad, cerams, tas tiek izpildīts pareizi. Principā ir iespējams izmantot arī vairākas no šīm metodēm, taču mak­si­mā­lais skaits ir viena galvenā metode katrai klasei.

Kāda ir Java metodes main() sintakse?

Java main() metodes sintakse vienmēr ir vienāda. Tā sastāv no vairākām svarīgām daļām un izskatās šādi:

public static void main(String[] args)
java

Šīs sa­stāv­da­ļas pilda šādas funkcijas:

  • public: Šis kom­po­nents nodrošina, ka klasei var piekļūt arī no ārpuses.
  • static: Šī daļa deklarē metodi kā statisku, kas nozīmē, ka tā var pastāvēt bez iepriekš izveidota konkrētas klases objekta.
  • void: Tas nodrošina, ka main() metode Java nav jāatgriež vērtība. main: To Java virtuālā mašīna izmanto, lai iden­ti­fi­cē­tu metodi, kad tā izpilda programmu.
  • String[] args: Tas ir masīvs, kurā tiek saglabāti un saņemti ko­man­drin­das argumenti.

Kāpēc main() at­se­viš­ķie kom­po­nen­ti ir svarīgi?

Lai labāk izprastu, kā darbojas Java main() metode un kāpēc visi kom­po­nen­ti ir tik svarīgi, turp­mā­ka­jās sadaļās mēs tos ap­ska­tī­sim atsevišķi. Visvairāk mēs parādīsim, kas notiek, ja daļa no paraksta trūkst. Lai to izdarītu, mēs iz­vē­lē­si­mies ļoti vienkāršu koda piemēru, kuru izvadīsim ar Java komandu System.out.println.

public class main {
	public static void main(String[] args) {
		System.out.println("Here is your sample text.");
	}
}
java

Kad iz­pil­dī­siet šo kodu, saņemsiet šādu rezultātu:

Here is your sample text.
java

public

public darbojas kā piekļuves spe­ci­fi­ka­tors un norāda Java vir­tuā­la­jai mašīnai, kur tiek izpildīta at­bil­sto­šā programma. Ir arī citi piekļuves mo­di­fi­ka­to­ri, piemēram, default, private un protected. Tomēr, ja tos iz­man­to­jat kopā ar main() metodi Java, saņemsiet kļūdas ziņojumu:

public class main {
	private static void main(String[] args) {
		System.out.println("Here is your sample text.");
	}
}
java

At­tie­cī­gais jautājums ir:

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
java

Šis kļūdas ziņojums norāda, ka metode nav publiski pieejama.

static

At­slēg­vārds static ap­stip­ri­na, ka izmantotā metode ir statiska. Tas nozīmē, ka to var izmantot ne­at­ka­rī­gi no klases instancēm. Ja iz­dzē­sī­siet šo kom­po­nen­ti, kods iz­ska­tī­sies šādi:

public class main {
	public void main(String[] args) {
		System.out.println("Here is your sample text.");
	}
}
java

Šeit jūs saņemat arī kļūdas ziņojumu:

Error: Main method is not static in class test, please define the main method as:
public static void main(String[] args)
java

void

void ir at­slēg­vārds, kas norāda, ka main() metode Java valodā nedrīkst atgriezt nekādas vērtības. Tā kā main() ir prog­ram­mas sākuma un beigu punkts Java valodā, ren­de­rē­ša­na nav ne­pie­cie­ša­ma. Šādi izskatās kods bez void:

public class main {
	public static main(String[] args) {
		System.out.println("Here is your sample text.");
	}
}
java

Šī ir kļūdas ziņojums, ko saņemat, ja izlaidat 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)
java

main

Katrai Java prog­ram­mai JVM vispirms meklē iden­ti­fi­ka­to­ru main. Tas norāda, kur jāuzsāk un jābeidz izpilde. Tiklīdz Java metode main() pabeidz izpildi, programma tiek pār­trauk­ta. Tāpēc paraksts nekad nedrīkst tikt mainīts vai pa­pil­di­nāts. Šeit ir piemērs, kā izskatās paraksta izmaiņas:

public class main {
	public static void replacementMain(String[] args) {
		System.out.println("Here is your sample text.");
	}
}
java

Tā kā JVM nevar atrast iden­ti­fi­ka­to­ru, tā tieši pārtrauks programmu un izdos šādu kļūdas ziņojumu:

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
java

String[] args

String[] args masīvs atbilst java.lang.String klasei un satur datus, kurus tā glabā kā string vērtības. Ja iz­lai­dī­siet šo spe­ci­fi­kā­ci­ju, kods iz­ska­tī­sies šādi:

public class main {
	public static void main() {
		System.out.println("Here is your sample text.");
	}
}
java

Bez argumenta Java main() metode nevar tikt izpildīta. Rezultātā jūs atkal saņemsiet šādu kļūdas ziņojumu:

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
java

Kādi ir al­ter­na­tī­vie rakstības veidi?

Šeit pa­rā­dī­tais koda piemērs ir rakstīts saskaņā ar visbiežāk lietoto sintaksi. Tomēr jūs to varat viegli pielāgot, lai iegūtu labāku pārskatu. Piemēram, jūs varat ievietot kvad­rā­tie­ka­vas tieši aiz args. Tas iz­ska­tī­tos šādi:

public static void main(String args[]) { }
java

Jūs varat arī saglabāt ar­gu­men­tus kā mainīgos ar­gu­men­tus (varargs). Lai to izdarītu, jums ir jāizmanto trīs punkti:

public static void main(String...args) { }
java

e279a09d81cf2d9a80f3ef29e7d04b0b

9355e88a23274d30eaac66bea1050fdd

d08ef900be5f8a1e6a80fab0895b7da2

ffcbdc9a7455426c4bf5f7060e972480

e8f4e388159642a184a0e44306df114b

Go to Main Menu