31.7.24

Java konstruktori

Besplatni Java kurs - 63. deo
Ovo je samo jedan od članaka koji zajedno čine besplatan Java tutorijal.

Konstruktori su posebna vrsta metoda čija je svrha incijalizacija objekata.

Podrazumevani konstruktor

Svaka Java klasa ima podrazumevani konstruktor. Svaki put kada stvoriš novu klasu, ako ne napišeš svoj konstruktor, Java će to uraditi za tebe.

Podrazumevani konstruktor će podesiti sve početne vrednosti svih promenljivih tvog objekta na podrezumevane vrednosti. Podrazumevana podešavanja će zavisiti od tipa promenljive:

  • false za boolean tip
  • 0 za numeričke tipove
  • null za referentne tipove

Hajde da pogledamo našu klasu Knjiga, čiji osnovni kôd izgleda ovako:

class Knjiga {
    public String naslov;
    public String autor;
    public int brStranica;
}

U klasi Knjiga ne postoji definicja konstruktora, što znači da će Java iskoristiti podrazumevani konstruktor kako bi stvarala objekte ove klase. Za klasu Knjiga to znači da će svaki objekat knjige biti podrazumevano bez naslova, bez autora i sa 0 stranica. Naslov i autor će konkretno imati null vrednost.

Podrazumevani konstruktor u klasi Knjiga „ispod haube” bi izgledao ovako:

class Knjiga {
    public String naslov;
    public String autor;
    public int brStranica;

    public Knjiga(){
        this.naslov = null;
        this.autor = null;
        this.brStranica = 0;
    }
}

Obrati pažnju da sam rekao: „Podrazumevani konstruktor u klasi Knjiga bi izgledao ovako”. Nisam rekao da ću zaista i da napišem kôd konstruktora. Java to radi umesto mene.

U toku kompajliranja mog kôda, Java kompajler će izvršiti analizu moje klase Knjiga, videće da ona sadrži definiciju tri promenljive (naslov, autor i brStranica) i zatim će dodati gore navedeni kôd konstruktora da postavi njihove početne vrednosti (null, null i 0).

Ali ako definišeš sopstveni konstruktor, Java više neće koristiti podrazumevani konstruktor za datu klasu. U tom slučaju, Java će da postavi početne vrednosti objekta onako kako ti želiš.

Ako baš želiš, u klasi Knjiga možeš ručno da napišeš isti kôd konstruktora koji bi inače Java napisala automatski i efekat će biti isti. To nema mnogo smisla u stvarnom programiranju, ali u svrhe učenja svakako možeš da probaš. Probaj oba gore navedena koda: prvi bez eksplicitno napisanog konstruktora (Java će napisati konstruktor za tebe) i drugi gde je prikazano kako bi Java napisala kôd. Ne zaboravi da dodaš i funkciju main gde ćeš sve to da testiraš. Ako ne znaš kako to da uradiš, pogledaj prethodne primere na blogu.


Pročitaj i nastavak:

Besplatni Java kurs - 64. deo - Java geteri i seteri

No comments:

Post a Comment