public static void main(String[] args) {
Kun Java-tavukoodi ladataan muistiin, etsitään ensin ladatusta luokasta (tai muuten erikseen ilmoitetusta luokasta) pääohjelmaa, josta koodin suoritus aloitetaan. Pääohjelman nimi on aina oltava main. Oikeassa ohjelmassa on pääohjelman lisäksi useita luokkia ja metodeita (luokkien sisällä olevia aliohjelmia).
main-metodi voi olla myös useammassa luokassa, jolloin kullakin main-metodilla voidaan testata kyseisen luokan toiminta. Näin helpotetaan yksikkötestaus (modulitestausta). Tästä lisää kun pääsemme tarkemmin olioiden ja luokkien kimppuun.
Seuraavaksi esitellään ohjelman pääohjelma ("oikea" ohjelma koostuu isosta kasasta aliohjelmia ja yhdestä pääohjelmasta, jonka nimi on main).
public tarkoittaa, että metodi on julkisesti näkyvä. Muuten metodi ei näkyisi luokan ulkopuolelle eikä sitä voitaisi suorittaa.
static tarkoittaa että metodi on ns. luokkametodi, eli se voidaan suorittaa, vaikkei luokasta olisi olemassa yhtään esiintymää eli oliota. Luokkametodi ei voi käyttää luokan olioiden attribuutteja suoraan (koska oliota ei välttämättä ole).
void ilmoittaa, että metodi jota kirjoitamme ei palauta mitään arvoa ( eng. void = mitätön).
main tarkoittaa pääohjelman nimeä. Tämä TÄYTYY aina olla main. Muut metodit voidaan nimetä vapaasti.
( Metodin parametrilistan (argumenttilistan) alkusulku.
String[] ilmoittaa että metodi saa parametrinaan taulukollisen (hakasulut tarkoittavat taulukkoa) merkkijonoja. Nämä ovat merkkijonot tulevat ohjelmaan käynnistyksen yhteydessä olevina parametreinä. Käynnistys parametrejä voi olla nolla tai useita.
args itse keksitty nimi jolla merkkijonotaulukkoon viitataan. Tämä nimi voi olla mikä tahansa.
) Metodin parametrilistan (argumenttilistan) loppusulku.
/** * Ohjelma tulostaa kutsun mukana tulleet parametrit * @author Vesa Lappalainen * @version 1.0, 03.01.2003 */ class Hello3 { public static void main(String[] args) { for (int i=0; i<args.length; i++) System.out.println("Parametri " + i + ": " + args[i]); } }
Tulostaisi seuraavalla tavalla:
E:\kurssit\ohj2\moniste\esim\java-alk>java Hello3 eka toka kolmas Parametri 0: eka Parametri 1: toka Parametri 2: kolmas