Objašnjena Java glavna () metoda

1. Pregled

Svaki program treba mjesto za početak izvođenja; govoreći o Java programima, to je glavni metoda. Tako smo navikli pisati glavni tijekom naših sesija koda, da čak i ne obraćamo pažnju na njegove detalje. U ovom ćemo kratkom članku analizirati ovu metodu i pokazati neke druge načine pisanja.

2. Zajednički potpis

Najčešći predložak glavne metode je:
javna statička void glavna (String [] args) {}

To smo naučili, to je način na koji IDE automatski dovršava kod za nas. Ali to nije jedini oblik koji ova metoda može pretpostaviti, postoje neke valjane varijante koje možemo koristiti i ne obraća pažnju svaki programer na ovu činjenicu.

Prije nego što uđemo u potpise tih metoda, pregledajmo značenje svake ključne riječi zajedničkog potpisa:

  • javnost - modifikator pristupa, što znači globalnu vidljivost
  • statički - metodi se može pristupiti izravno iz klase, ne moramo instancirati objekt da bismo imali referencu i koristili je
  • poništiti - znači da ova metoda ne vraća vrijednost
  • glavni - naziv metode, to je identifikator koji JVM traži prilikom izvršavanja Java programa

Što se tiče argumenata parametar, predstavlja vrijednosti primljene metodom. Na taj način prenosimo argumente programu kad ga prvi put pokrenemo.

Parametar argumenata je niz od Nizs. U sljedećem primjeru:

java CommonMainMethodSignature foo bar

izvršavamo Java program pod nazivom CommonMainMethodSignature i donošenje 2 argumenta: foo i bar. Tim se vrijednostima može pristupiti unutar glavni metoda kao argumenti [0] (imati foo kao vrijednost) i argumenti [1] (imati bar kao vrijednost).

U sljedećem primjeru provjeravamo argumente kako bismo odlučili hoćemo li učitati test ili proizvodne parametre:

public static void main (String [] args) {if (args.length> 0) {if (args [0] .equals ("test")) {// učitaj parametre testa} else if (args [0] .equals ("proizvodnja")) {// učitavanje proizvodnih parametara}}}

Uvijek je dobro zapamtiti da IDE također mogu prosljeđivati ​​argumente programu.

3. Različiti načini pisanja a glavni() Metoda

Provjerimo nekoliko različitih načina za pisanje glavni metoda. Iako nisu vrlo česti, valjani su potpisi.

Imajte na umu da nijedno od njih nije specifično za glavni metodu, mogu se koristiti s bilo kojom Java metodom, ali su također valjani dio glavni metoda.

Uglate zagrade mogu se postaviti u blizini Niz, kao u uobičajenom predlošku ili u blizini argumenata na svakoj strani:

javna statička void glavna (String [] args) {} 
javna statička void glavna (String args []) {}

Argumenti se mogu predstaviti kao varargi:

javna statička void glavna (String ... args) {}

Možemo čak dodati strogifp za glavni() metoda koja se koristi za kompatibilnost između procesora pri radu s vrijednostima s pomičnim zarezom:

javna staticfp statička void glavna (String [] args) {}

sinkronizirano i konačni su također valjane ključne riječi za glavni metoda, ali ovdje neće imati učinka.

S druge strane, konačni može se primijeniti na argumenata kako bi se spriječilo mijenjanje niza:

javna statička void glavna (završni niz [] args) {}

Za kraj ovih primjera možemo napisati i glavni sa svim gore navedenim ključnim riječima (što, naravno, vjerojatno nikada nećete koristiti u praktičnoj primjeni):

završni statički sinkronizirani strogifp void glavni (završni niz [] args) {}

4. Imati više od jednog glavni() Metode

Također možemo definirati više od jednog glavni metoda unutar naše aplikacije.

U stvari, neki ga koriste kao primitivnu testnu tehniku ​​za provjeru valjanosti pojedinih klasa (iako testni okviri poput JUNIT su puno više naznačeni za ovu aktivnost).

Da odredim koji glavni metodu koju bi JVM trebao izvršiti kao ulaznu točku naše aplikacije, koristimo NAJVIŠE.MF datoteka. Unutar manifesta možemo naznačiti glavnu klasu:

Glavna klasa: mypackage.ClassWithMainMethod

To se uglavnom koristi prilikom stvaranja izvršne datoteke .jar datoteka. Označavamo koji razred ima glavni metoda za započinjanje izvršenja kroz datoteku manifesta koja se nalazi na META-INF / MANIFEST.MF (kodirano u UTF-8).

5. Zaključak

Ovaj je vodič opisao detalje glavni metodu i neke druge oblike koje može poprimiti, čak i one koji nisu uobičajeni za većinu programera.

Imajte na umu da, iako su svi primjeri koje smo prikazali valjani u smislu sintakse, oni samo služe u obrazovne svrhe i najčešće ćemo se držati zajedničkog potpisa da bismo radili svoj posao.