Všechny programy Java musí mít vstupní bod, který je vždy hlavní metodou (). Kdykoli je program vyvolán, automaticky provede nejprve metodu main ().
Hlavní() metoda se může objevit v jakékoli třídě, která je součástí aplikace, ale pokud je aplikace složitá s více soubory, je běžné vytvořit samostatnou třídu pouze pro main (). Hlavní třída může mít libovolný název, i když obvykle se bude jmenovat jen „Main“.
Co dělá hlavní metoda?
Metoda main () je klíčem k provedení spustitelného programu Java. Zde je základní syntaxe pro metodu main ():
veřejná třída MyMainClass {
public static void main (String [] args) {
// něco udělat tady ...
}
}
Metoda main () je definována v složených závorkách a je deklarována pomocí tří klíčových slov: public, static a void:
- veřejnost: Tato metoda je veřejná, a proto je dostupná každému.
- statický: Tuto metodu lze spustit, aniž byste museli vytvářet instanci třídy MyClass.
- neplatný: Tato metoda nic nevrací.
- (String [] args): Tato metoda vezme argument String. Všimněte si, že argumenty args mohou být cokoli - je běžné používat "args", ale místo toho bychom to mohli nazvat "stringArray".
Nyní přidáme nějaký kód do metody main (), aby něco udělal:
veřejná třída MyMainClass {
public static void main (String [] args) {
System.out.println ("Hello World!");
}
}
Toto je tradiční „Ahoj svět!“ program, tak jednoduchý, jak se dostane. Tato hlavní metoda () jednoduše vytiskne slova „Hello World!“ Ve skutečnosti program, nicméně, hlavní metoda () začíná akci a ve skutečnosti ji neprovádí.
Obecně metoda main () analyzuje všechny argumenty příkazového řádku, provádí určité nastavení nebo kontrolu a poté inicializuje jeden nebo více objektů, které pokračují v práci programu.
Samostatná třída nebo ne?
Jako vstupní bod do programu má metoda main () důležité místo, ale programátoři to nemají všichni se shodují na tom, co by měla obsahovat a do jaké míry by měla být integrována s ostatními funkčnost.
Někteří tvrdí, že metoda main () by se měla objevit tam, kde intuitivně patří - někde v horní části programu. Tento návrh například včleňuje main () přímo do třídy, která vytváří server:
Někteří programátoři však poukazují na to, že zavedení metody main () do její vlastní třídy může pomoci vytvořit znovu použitelné komponenty Java. Například níže uvedený návrh vytvoří samostatnou třídu pro metodu main (), což umožňuje volání třídy ServerFoo jinými programy nebo metodami:
Prvky hlavní metody
Kamkoli umístíte metodu main (), měla by obsahovat určité prvky, protože je vstupním bodem vašeho programu. Mohou zahrnovat kontrolu jakýchkoli předpokladů pro spuštění programu.
Pokud váš program například interaguje s databází, může být metodou main () logické místo pro testování základní připojení k databázi před přechodem na jiné funkce.
Nebo pokud je vyžadováno ověření, pravděpodobně byste vložili přihlašovací informace do main ().
Konstrukce a umístění main () jsou nakonec zcela subjektivní. Cvičení a zkušenosti vám pomohou určit, kam nejlépe umístit main (), v závislosti na požadavcích vašeho programu.