You are on page 1of 5

1. Šta je objekat?

Objekat je primerak (instanca) klase

2. Šta je klasa, iz čega se sastoji njena deklaracija?


Klasa je templejt (šablon) koji se koristi za kreiranje objekata i u kome se definišu tipovi
atributa (podataka) i metoda nekog objekta. Deklaracija klase se sastoji od sledećih dijelova:
- Modifikator
- Ime klase
- Telo klase koe se nalazi unutar {}

3. Šta se definiše u telu klase?


U telu klase se definišu atributi, konstruktori i metode koje rade nešto nad atributima

4. Vrste modifikatora?
Public, private, protected

5. Na šta su primenljivi modifikatori i njihov opis?


Public – tipovi i članovi tipova – vidljivo svuda, čak i izvan sklopa
Private – tipove i članove tipova – vidljivo samo u kodu koji pripada istom tipu
Protected – članove tipova – vidljivo samo u kodu koji pripada istom ili izvedenom tipu

6. Čemu sluzi SCANNER?


Scanner klasa definisana u paketu java.util, koja dozvoljava korisniku da čita podatke različitog
tipa

7. Čemu sliži System.in?


Ulazni strim (InputStream) koji se odnosi na tastaturu konzolnih aplikacija

8. Kako se prenose prosti, a kako složeni tipovi u jeziku java?


Prosti tipovi se prenose preko vrednosti, a složeni preko referenci

9. Dinamička alokacija nizova?


Student[] a = new Student[n]

10. Svaki član niza se mora kreirati?


Niz[i] = new Student ()

11. Pokazana dva načina iteriranja kroz nizove?


For (int i = 0; i<niz.length; i++)
For (student a: niz)

12. Finkcija koja vraća niz kreiran unutar funkcije?


Student [] unosReturn(int n)

13. Osnovni koncepti OOP?


Apstrakcija, enkapsulacije, nasledjivanje, polimorfizam
14. Apstrakcija?
Postupak kojim se unutrašnja složenost objekta skriva od spoljnog svijeta. Postupak kreiranja
jednostavne reprezentacije nečeg komplikovanog. Postoje dvije strane svakog objekta:
- Ono što radi; što je poznato
- Način na koji radi, koji je nepoznat
Zavisi od perspektive korisnika

15. Klasifikacija?
Korijen riječi je klasa. Obrazovanje klase = sistemsko uredjivanje informacije u smislenu
cijelinu

16. Enkapsulacija (učaurenje)?


Osnovni koncept na kome počiva objektna orjentisanost. To je softverska tehnika kojom se
povezuju podaci i metode koje se odnose na jednu cijelinu. Podrazumeva da korisnici nekog
objekta ne mogu menjati unutrašnja stanja i metode objekata. Samo internim metodama
objekata je omogućeno da pristume tim stanjima, dok svaki objekat omogućava spoljnim
korisnicima da pristupe i koriste njegove javne metode. Smanjuje složenost sistema.
Dva bitna aspekta učaurenja:
- Objedinjavanje podataka i funkcija u jedan entitet
- Kontrola mogućnosti pristupa članovima entiteta

17. Get i Set metode


Koriste se za omogućavanje pristupa privatnim poljima van klase. Te metode imaju odredjeni
modifikator pristupa koji je obično Public

18. ToStrung metoda


Opisuje postavljanje objekta prilikom ispisa na standardnom izlazu, definiše se unutar klase
kao javna metoda članica

19. Konstruktor?
Metoda klase koja se izvršava kada se kreira objekat odredjene klase. Ima isto ime kao i klasa,
nema povratnu vrednost i obično inicijalizuje elemente novog objekta. Može biti
podrazumjevani ili parametrizovani. Poziva se od strane NEW operatora, odmah nakon
alokacije memorije za novi objekat. U konstruktoru bi trebalo da se rade što jednostavnije
inicijalizcaije. Konstruktor može primiti jedan ili više parametara. Ako se u klasi definiše bar
jedan konstruktor, kompajler neće generisati podrazumjevani konstruktor. Sva polja koja nisu
definisana u korisnički definisanom konstruktori zadržavaju svoju podrazumjevanu
inicijalizaciju. Za jednu klasu može se definisati više konstruktora.

20. Pokazivač THIS?


Ugradjeni pokazivač THIS olakšava rad unutar klase, pogotovu u konstruktorima, ukazujući na
atribut ili metodu ove klase.
this.sirina = sirina
21. Static atributi?
Svaka klasa može imati atribut koji je zajednički za sve instance te klase. Definiše se ključnom
riječi STATIC. Promena tog atributa u bilo kojoj instanci klase mijenja taj atribut svim njenim
instancama. Vrednost atributa se dohvata preko imena klase a i preko njene istance. Sa static
atributom se može raditi samo u okviru static metoda.

22. Nasledjivanje?
Jedan od osnovnih koncepata OOP. Na osnovu postojeće klase izvodi se nova izvedena koja
nasledjuje sve članove (polja i metode). Odnos medju klasama a ne medju objetima. Klasa
Syste.Object je osnovna za sve klase. Grupe koje su povezane nasledjivanjem formiraju
strukturu koja se naziva hijerarhija klasa.

23. Vrste nasledjivanja?

24. Implementacija?
Postiže se pomoću riječi EXTENDS i imena osnovne klase. Izvedena klasa nasledjuje sve
članove bazne klase i ima pristup poljima koja nisu private. Ne nasledjuje konstruktor i ključne
riječi: protected i sealed

25. Nasledjivanje – konstruktor izvedene klase?


Konstruktor izvedene klase mora da pozove konstruktor svoje bazne klase. Za pozivanje se
koristi ključna riječ SUPER. Prvo se izrsava konstrukor bazne klase pa onda tek izvedene klase.
Konstruktor klase može da inicijalizuje sva polja izvedene klase kao i dostupna polja svih
osnovnih klasa do vrha stabla.

26. Polimorfizam?
Metoda koja je implementirana u osnovnoj klasi, može da bude implementirana na više
različitih načina u različitim izvedenim klasama. Različiti objekti mogu reagovati različito.
Osnovne klase definišu i implementiraju virtuelne metode, a izvdene reimplementiraju te
metode po potrebi.

27. Reimplementiranje (redefinisanje)?


Proces implementacije virtuelnih metoda u izvedenim klasama. Kod reimplementirane
metode se koristi isti potpis kao i u osnovnoj klasi.

28. Override i hide metoda?


Metode instance izvedene klase redefinišu metodu osnovne klase istog potpisa. Metode klase
static izvedene klase sakrivaju metodu osnovne klase istog potpisa. Sakrivanje ima uticaja u
zavisnosti da li se metoda poziva preko osnovne ili izvedene klase.
29. Liste?
Liste su posebni tipovi kolekcija definisani unutar java.util biblioteke. Omogućavaju laksi rad
sa grupama podataka od nizova. Kroz liste se može kreirati kao i kroz nizove ali i pomoću
ITERATORA

30. Abstraktne klase i njene članice?


Ključna riječ ABSTRACT, klasa postaje kada se ispred njene definicije stavi reč abstract. Ona se
ne može inicirati. Svrha je da omogući prostu definiciju osnovne klase koju brojene izvedene
klase dijele. Samo apstraktne klase mogu imati apstraktne članice.
Deklaracija: [modifikator_pristupa] abstract class naziv_klase {tijelo}

31. Apstraktne metode?


Nemaju implementaciju pa se završavaju sa „;“. Izvedene klase moraju da implementiraju sve
apstraktne metode. U izvedenoj klasi se apstraktna metoda definiše korišćenjem ključne riječi
override. Mogu se implementirati članice klase.
Deklaracija: modifikator abstract tip_povratne_vrednosti naziv_metode (lista_parametara)

32. Final klase i njene članice?


Ključna riječ FINAL. Omogućava nasledjivanje od drugih klasa ili neke članice klasa koje su bile
označene kao virtuelne. Ova klasa se ne može naslediti niti biti apstraktna. Članovi: metode,
polja... u izvedenoj klasi koja redefiniše virtuelne članove osnovne klase, može da proglasi te
članove FINAL

33. Interfejsi?
Ključna riječ INTERFACE, najvisi nivo apstrakcije, sadrzi samo deklaracija clanica klase koje
moraju biti implementirane u klasama koje nasledjuju taj interfejs, kasa moze da
implementira vise interfejsa. Predstavlja apstraktan tip koji se ne moze inicirati
ImojInterfjes imi = new ImojInterfejs();
Dva razloga za korišćenje interfjesa:
- Smanivanje zavisnosti u kodu
- Za implementiranje polimorfnog ponasanja
Klasa implementira interfejs sa IMPLEMENTS i moze implementirati vise interfejsa. Da bi
implementirao clan interfejsa on mora biti javan, nestatican i da ima ime i potpis kao clan
interfejsa. Interfejs moze naslediti vise drugih interfejsa pomocu EXTENDS

34. Interfjesk vs Apstraktna klasa?


Interfejs ne moze da implementira metode, apstraktna klasa moze
Interfjes moze samo da nasledi drugi interfejs, a klasa moze da nasledi jednu klasu i
implementira vise interfejsa
Interfejs ne sadrzi polja, a.k. moze
Interfejs podrzava visestruko nasledjivanje, a.k. ne

35. Izuzeci?
Izuzeci su mehanizam pomocu koje pozvani metod moze da inicira da se desio neki
apnormalni dogadjaj. Kada dodje u metodi do situacije kada sam metod ne umije da razresi
metod moze da „baci“ izuzetak. Kada pravimo metod koji baca, to mora da se naglasi u
zaglavlju metode.
36. Try – catch?
Kada negde u programu pozivamo metodu koja baca izuzetak mozemo ga pozvati iskljucivo u
try catch bloku. Jedan try blok moze da ima vise catch blokova

37. Paralelna obrada – niti


Nit je jedna putanja izvrsenja programa, pokretanje vise niti znaci da se vise razlicitih linija
koda izvrsava u istom trenutku. Kreiranje niti na dva nacina:
- Nasledjivanjem klase thread
- Umplementiranjem interfjesa runnable
U ovoj varijatniti postoji promeniva tipa therad kojoj se dodaje novi objekat, a konstruktoru
se prosledjuje referenca na samu klasu, brojac. Time promenjiva t preuzima varijantu metoda
run() iz klase brojac, t ce biti jedna nit. Proces moze biti pokrenut start(), zaustavljen stop().
Metod kojim nit prepusta sistem drugoj je metod void sleep(long)
Metod run() je metod koji se smesta posta koji nit treba da obavi, taj metod je nasledjen iz
klase thread i mi treba da ga redefinisemo.

38. GUI?
Postoje dva paketa za kreiranje GUI app:
AWT (abstract windows toolkit) – originalni graficki alat koji obesbjedjuje java 1.0
SWING – najnapredniji paket za rad sa grafikom. Osnovne komponente Jbutton, Jlabel...

39. Koncept izrade GUI app?


Zasniva se na kreiranju frejma, dodavanju komponenti na frejm i podesavanju izgleda,
podesavanju akcija.

You might also like