Liigu peamise sisu juurde

Java-faili ülesehitus

Kirjeldus

Java lähtekoodifail on tekstifail .java laiendiga, mis sisaldab ühe või mitme klassi kirjeldust. Faili nimi peab ühtima selles failis oleva avaliku klassi (public class) nimega. Java-faili sisu on kindla loogilise struktuuriga, kus mõned osad on kohustuslikud ja teised valikulised.

Kõige lihtsam Java fail koosneb paketi deklaratsioonist (valikuline), import lausetest (kui neid on vaja), klassi definitsioonist, funktsioonidest ning main-meetodist, mida kasutatakse koodi jooksutamiseks.

Visual example of a typical Java file

Tüüpiline Java-faili struktuur

Esmalt, Java-s kasutatakse semikooloneid (;) ja sulge ({}) koodi loogilise struktuuri määramiseks.

  • Semikoolon (;) - Iga avaldis või käsk Java-s lõppeb semikooloniga:
  • Logelised sulud ({}) - Kasutatakse klasside, meetodite ja plokkide piiritlemiseks:

Nende puudumine võib põhjustada kompileerimisvigu.

1. Paketi deklaratsioon (valikuline)

Java fail algab paketi deklareerimisega, mis määrab kuhu paketti antud fail kuulub.

package ee.taltech.iti0202.introduction;

Java paketinimi vastab otseselt kataloogistruktuurile failisüsteemis. Iga punkt (.) paketinimes tähistab alamkataloogi, mistõttu pakett ee.taltech.iti0202.introduction paikneb kaustastruktuuris ee/taltech/iti0202/introduction. Selline ülesehitus aitab organiseerida lähtekoodi, vältida nimekonflikte ning tagab rakenduse loogilise struktuuri ka failisüsteemi tasandil.

An image visualising java packages in file-system

2. Import-laused (valikulised)

Import-laused võimaldavad kasutada teiste pakettide klasse ilma nende täisnime kirjutamata.

import java.util.List;
import java.util.ArrayList;

3. Avalik klassi definitsioon (kohustuslik)

Iga Java programm põhineb klassidel. Failis peab olema vähemalt üks klass.

public class Introduction {
}

4. Väljad ehk muutujad

Klass võib sisaldada välju, mis hoiavad objekti või klassi olekut.

private int value;

Java on tüübikindel keel, mis tähendab, et väljade ja muutujate tüüpe tuleb kompileerimise ajal teada. Iga väli peab olema tüübiga määratletud, mis ütleb, millist tüüpi väärtust see väli saab salvestada. Tüüpide mitteühilduvuse tulemusena tekib kompileerimisviga.

5. Konstruktorid (valikulised)

Konstruktorid määravad, kuidas klassit objekt luuakse ja algväärtustatakse. Ühel klassil võib olla üks või mitu konstruktorit. Samuti võib klassil konstruktor üldsegi puududa.

public Introduction(int value) {
this.value = value;
}

6. Meetodid

Meetodid kirjeldavad klassi käitumist ja loogikat.

public void printValue() {
System.out.println(value);
}

7. main-meetod (vajalik, et programm käivitada)

main-meetod on Java rakenduse entry point ehk alguspunkt. See meetod kutsutakse välja, kui Java programmi käivitatakse.

public static void main(String[] args) {
Introduction obj = new Introduction(5);
obj.printValue();
}

Kui main-meetod koodist välja jätta, siis koodi jooksutamine ei õnnestu. Samas, kui main-meetod teha ja see tühjaks jätta, siis läheb kood tööle, kuid konsooli midagi ei väljastata. Põhjuseks on see, et koodi tööle pannes kasutatakse vaid main-meetodis välja kutsutud funktsioone välja kutsumise järjekorras.

Terviklik näide

package ee.taltech.iti0202.introduction;    // package

// import java.util.List;
// import java.util.ArrayList;

public class Introduction {

// attributes
private int value;

// constructor
public Introduction(int value) {
this.value = value;
}

// method
public void printValue() {
System.out.println("Value: " + value);
}

// entry-point
public static void main(String[] args) {
Introduction obj = new Introduction(5);
obj.printValue();
}
}