Vysvetlená metóda Java main ()

1. Prehľad

Každý program potrebuje miesto na začatie svojej realizácie; hovoriac o programoch Java, to je hlavný metóda. Sme tak zvyknutí písať hlavný počas našich relácií kódu, že nevenujeme pozornosť ani jej detailom. V tomto rýchlom článku rozoberieme túto metódu a ukážeme ďalšie spôsoby jej písania.

2. Spoločný podpis

Najbežnejšia šablóna hlavnej metódy je:
public static void main (String [] args) {}

Takto sme sa to naučili, to je spôsob, akým IDE za nás automaticky doplní kód. Nie je to však jediná forma, ktorú môže táto metóda predpokladať, existuje niekoľko platných variantov, ktoré môžeme použiť a nie každý vývojár venuje tejto skutočnosti pozornosť.

Predtým, ako sa ponoríme do podpisov týchto metód, pozrime sa na význam každého kľúčového slova spoločného podpisu:

  • verejné - modifikátor prístupu, čo znamená globálnu viditeľnosť
  • statický - k metóde je prístup priamo z triedy, nemusíme vytvárať inštancie objektu, aby sme mali referenciu a mohli sme ju použiť
  • neplatný - znamená, že táto metóda nevracia hodnotu
  • hlavný - názov metódy, to je identifikátor, ktorý JVM hľadá pri spustení programu Java

Pokiaľ ide o args parameter predstavuje hodnoty prijaté metódou. Takto odovzdávame programu argumenty pri jeho prvom spustení.

Parameter args je pole Strings. V nasledujúcom príklade:

java CommonMainMethodSignature foo bar

vykonávame program Java s názvom CommonMainMethodSignature a odovzdanie 2 argumentov: foo a bar. Tieto hodnoty sú prístupné vo vnútri súboru hlavný metóda ako args [0] (majúce foo ako hodnota) a args [1] (majúce bar ako hodnota).

V nasledujúcom príklade kontrolujeme args, aby sme sa rozhodli, či načítať testovacie alebo produkčné parametre:

public static void main (String [] args) {if (args.length> 0) {if (args [0] .equals ("test")) {// parametre testu zaťaženia} else if (args [0] .equals ("production")) {// load production parameters}}}

Vždy je dobré mať na pamäti, že IDE môžu tiež prenášať argumenty do programu.

3. Rôzne spôsoby písania a hlavný() Metóda

Poďme skontrolovať niekoľko rôznych spôsobov, ako napísať hlavný metóda. Aj keď to nie je veľmi bežné, sú to platné podpisy.

Upozorňujeme, že žiadny z nich nie je špecifický pre hlavný metódu, dajú sa použiť s ktoroukoľvek metódou Java, ale sú tiež platnou súčasťou hlavný metóda.

Hranaté zátvorky je možné umiestniť blízko Stringako v spoločnej šablóne alebo v jej blízkosti args na oboch stranách:

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

Argumenty môžu byť vyjadrené ako varargs:

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

Môžeme dokonca pridať strictfp pre hlavný() metóda, ktorá sa používa na kompatibilitu medzi procesormi pri práci s hodnotami s pohyblivou rádovou čiarkou:

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

synchronizované a konečné sú tiež platné kľúčové slová pre hlavný metóda, ale tu nebudú mať účinok.

Na druhej strane, konečné možno aplikovať na args aby ste zabránili úprave poľa:

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

Na záver týchto príkladov môžeme tiež napísať hlavný metóda so všetkými vyššie uvedenými kľúčovými slovami (ktoré samozrejme v praktickej aplikácii pravdepodobne nikdy nepoužívate):

final static synchronized strictfp void main (final String [] args) {}

4. Mať viac ako jedného hlavný() Metódy

Môžeme tiež definovať viac než jeden hlavný metóda v našej aplikácii.

Niektorí to v skutočnosti používajú ako primitívnu testovaciu techniku ​​na validáciu jednotlivých tried (aj keď testovacie rámce ako JUnit sú pre túto činnosť oveľa viac určené).

Upresniť ktoré hlavný metóda, ktorú by mal JVM vykonať ako vstupný bod našej aplikácie, používame metódu MANIFEST.MF spis. Vo vnútri manifestu môžeme označiť hlavnú triedu:

Hlavná trieda: mypackage.ClassWithMainMethod

Väčšinou sa to používa pri vytváraní spustiteľného súboru .jar spis. Označujeme, ktorá trieda má hlavný metódu na spustenie vykonávania prostredníctvom súboru manifestu umiestneného na META-INF / MANIFEST.MF (kódované v UTF-8).

5. Záver

Tento tutoriál popísal podrobnosti hlavný metóda a niektoré ďalšie formy, ktoré môže predpokladať, dokonca aj tie, ktoré nie sú pre väčšinu vývojárov príliš bežné.

Majte na pamäti, že hoci všetky príklady, ktoré sme ukázali, sú platné z hľadiska syntaxe, slúžia iba na vzdelávací účel a väčšinu času sa budeme držať spoločného podpisu, aby sme mohli robiť svoju prácu.


$config[zx-auto] not found$config[zx-overlay] not found