1/21
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Šta predstavlja interfejs u Javi i koja mu je osnovna svrha?
Interfejs predstavlja ugovor koji definiše skup metoda koje klasa mora da implementira. On omogućava standardizovanu interakciju između različitih klasa.
Kako se interfejsi ponašaju kao tipovi u Javi?
Interfejsi su referencijalni tipovi, pa promenljiva tipa interfejs može referencirati objekat bilo koje klase koja ga implementira.
Koje sve članove možemo naći unutar interfejsa?
U interfejsu možemo deklarisati konstante, zaglavlja metoda, default i statičke metode, kao i ugnježdene statičke tipove.
Koji su modifikatori implicitno prisutni u članovima interfejsa?
Sve metode su implicitno public
i abstract
, a promenljive public static final
, dok su ugnježdene klase i interfejsi public static
.
Može li jedna klasa implementirati više interfejsa?
Da, jedna klasa može implementirati više interfejsa i tada mora implementirati sve metode iz svih interfejsa.
Kako se ponašaju referencijalne promenljive interfejsa u odnosu na metode objekta?
Takve promenljive mogu koristiti samo metode definisane u interfejsu, čak i ako objekat sadrži više metoda.
Šta su default metode u interfejsima i kako se koriste?
Default metode imaju implementaciju unutar interfejsa i klasa koja ga implementira može ih koristiti ili redefinisati.
Šta se dešava ako dva interfejsa sadrže default metodu istog imena?
Klasa koja implementira oba interfejsa mora redefinisati tu metodu, jer u suprotnom dolazi do greške pri kompajliranju.
Kako se rešavaju kolizije između konstanti iz različitih interfejsa?
Kolizije između statičkih članova se rešavaju navođenjem punog imena interfejsa, čime se izbegava nejasnoća.
Da li interfejs može naslediti drugi interfejs?
Da, interfejs može naslediti jedan ili više drugih interfejsa i tako proširiti skup metoda koje nasleđena klasa mora implementirati.
Može li interfejs naslediti više drugih interfejsa?
Da, višestruko nasleđivanje interfejsa je dozvoljeno i koristi se za kombinovanje više funkcionalnosti.
Može li interfejs sadržati ugnježdene tipove?
Da, interfejs može sadržati ugnježdene statičke klase, interfejse i enum-e, koji se koriste kao pomoćne strukture.
Kako interfejs ugnježden u klasu može biti iskorišćen?
➡ Interfejs ugnježden u klasu može biti implementiran u drugoj klasi, čime se omogućava precizna kontrola pristupa i logike.
Šta predstavlja princip inverzije kontrole kod korišćenja interfejsa?
Inverzija kontrole znači da korisnik klase određuje konkretno ponašanje tako što prosleđuje implementaciju interfejsa.
Kako interfejsi omogućavaju polimorfizam?
Kroz dinamičko vezivanje, metoda može da koristi različite implementacije interfejsa u zavisnosti od tipa prosleđenog objekta.
Šta je enum i kako se koristi u Javi?
Enum predstavlja tip koji sadrži ograničeni broj simboličkih konstanti i koristi se kada je vrednost promenljive unapred poznata.
Kako su se u Javi simulirali nabrojivi tipovi pre verzije 1.5?
Pre Jave 1.5 koristile su se celobrojne konstante definisane pomoću public static final
, što je bilo manje bezbedno.
Kako izgleda sintaksa za definisanje enum tipa u Javi?
Enum se definiše pomoću ključne reči enum
, a u telu se navode simboličke konstante odvojene zarezima.
Kako se vrednosti enum tipa koriste u kodu?
Vrednosti se koriste uz naziv tipa, kao npr. StatusVozila.SLOBODAN
, osim u switch
naredbi gde se koristi samo ime konstante.
Da li enum u Javi može imati atribute i metode?
Da, svaki enum je zapravo klasa i može sadržati atribute, metode, pa čak i konstruktore koji se pozivaju uz svaku konstantu.
Da li enum može implementirati interfejse i nasleđivati klase?
Enum može implementirati interfejse, ali ne može naslediti druge klase jer već implicitno nasleđuje java.lang.Enum
.
Šta radi metoda values()
kod enum tipova?
Metod values()
vraća niz svih konstanti definisanih u okviru enum-a, što omogućava jednostavno iteriranje kroz njih.