28.8.23

Šta znači this u programskom jeziku Java?

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

U svakom Java programu koji nije trivijalan stalno se pojavljuje ključna reč this. Čak i u školskom primeru klase Knjiga koju sam do sada koristio da objasnim osnovne koncepte programskog jezika Java, pojavljivala se ključna reč this. Da podsetim, jedna od verzija klase Knjiga je izgledala ovako:

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

    public Knjiga(String naslov, String autor, int brStranica){
        this.naslov = naslov;
        this.autor = autor;
        this.brStranica = brStranica;
    }
}

class Rad {
    public static void main(String args[]){
        Knjiga Dina = new Knjiga("Dina", "Frenk Herbert", 704);
    }
}

U konstruktoru klase Knjiga ključna reč this se pojavljuje čak tri puta.

Šta je this?

this označava trenutni objekat!

Ali šta je to trenutni objekat? Trenutni objekat je onaj u kojem se trenutno „nalazimo”.

U programskom jeziku Java sav kôd se nalazi u nekoj klasi i nemoguće je napisati ikakav kôd van neke Java klase. A klase (uglavnom) služe da se na osnovu njih prave objekti. Uvek kada se metoda pozove preko određenog objekta, unutar te metode taj objekat se oslovljava pomoću ključne reči this. I kada kažem unutar metode, mislim unutar definicje te metode. A metoda je definisana u klasi.

To važi i za konstruktore koji su samo posebna vrsta metoda.

U gore navedenom primeru definisana je klasa Knjiga i kasnije je u metodi main definisan i inicijalizovan jedan objekat te klase pod imenom Dina. Primeti da je objekat Dina definisan van klase Knjiga. Van klase Knjiga taj objekat će biti korišćen upotrebom promenljive Dina, a unutar klase Knjiga taj isti objekat biće korišćen pomoću ključne reči this. Jedan isti objekat ima dva imena u zavisnosti od toga da li radimo sa njim unutar klase na osnovu koje je napravljen ili van te klase.


Pročitaj i nastavak:

Besplatni Java kurs - 61. deo - Java metode: povratna vrednost metoda

No comments:

Post a Comment