You are on page 1of 9

1.

(1)– Klasa predstavlja generalizovani opis grupe entiteta


- Dobija se apstrakcijom
- Objekti su instance klasa koje se cuvaju na heap-u
- Svaka klasa se sastoji od atributa, metoda, konstruktora i getera i setera

2. (2, 3, 4)– Apstrakcija ~ proces sakrivanja detalja


- Enkapsulacija ~ pakovanje podataka u jednu celinu
- Polimorfizam ~ izvodjenje jedne iste akcije na vise nacina
-Nasledjivanje ~ extends ~ nasledjuje sve atribute

3. (5)– Konstruktor je metoda klase u kojoj definisemo atribute klase


- Kada klasa nema konstruktor, napravi se prazan(default) konstruktor
koji ne sluzi ni cemu

4. (6)– public ~ vidlji za sve klase (ne preporucuje se)


- Protected ~ vidljiv u klasama koje nasledjuju istu tu i klase iz istog paketa
- Private ~ vidljiv samo unutar te klase
- Nespeficifican ~ vidljiv samo za klase iz istog paketa(protected >>>)

5. (7)– Properti su getteri I seteri


- Getteri ~ citanje
- Setteri ~ pisanje(bez njega je read-only)

6. (8)– Osnovna klasa koja nema nijedan konkretan objekat, vec samo predstavlja
generalizaciju izvedenih klasa
-Moze da sadrzi apstraktne funkcije(samo su deklarisane, ne implementirane)
-Ne mora da ima apstraktne metode!
7. (9)– Predstavlja spisak metoda i atributa koja klasa koja implementira interfejs mora
imati
- Interfejs nije klasa!(Ne nasledjuje se, vec implementira)
- Jedan interfejs moze naslediti vise njih
- Jedna klasa moze implementirati vise njih
- U javi 8 su dodali lambda expressions, koja nam olaksavaju pisanje koda
(omogucava korisnicima kodiranje lokalne funkcije kao argumente metoda)

8. (10)– Definise staticke atribute i metode


- Vezuje se za klasu i skladisti u Field Data
- Staticki atributi imaju istu vrednost u svim objektima

9. (11)- Izvrsava se samo jednom


- Moze samo pristupati static atributima I pozivati samo static metode

10. (12)- final ~ zabranjeno nasledjivanje/ zabranjeno menjanje vrednosti

11. (13)- Interfejs je uskracen

12. (14, 15, 16)- Postoji 2 tipa: Compile time I Runtime

-Compile ~ zna se vreme izvrsavanja(Overloading)


-Run ~ vreme izvrsavanja zavisi od implementacije objekta(Overriding)

13. (17)- Povezivanja se dele na : Dinamicko(late binding) I staticko(early binding)


- Binding ~ povezuje funkciju sa odgovarajucim telom metode
- Staticko(early) ~ vezuje se za vreme kompajliranja
- Dinamicko(late) ~ odredjuje se vreme izvrsavanja

14. (18)- Super poziva nasledjene atribute iz roditeljske klase u konstruktoru klase deteta

15. (19)- Ako ne napravimo konstruktor pravi se default konstruktor

- Mozemo napraviti veci broj konstruktora

16. (20)- Metode prestavljaju funkcije i procedure


- Parametri mogu biti tipovi I reference na objekte
- Rekurzija(Funkcija poziva samu sebe)
17. (21)- /

18. (22)-Sve promenljive unutar metoda su lokalne I ne mogu se videti u drugim


metodama, a metode deklarisane izvan se mogu videti

19. (23)- U javi je prenos iskljucivo po vrednosti; prave se kopije parametara koji se
prosledjuju metodi

20. (24)- /
21. (25)- Overloading je ako klasa ima vise metoda istog imena ali sa razlicitim
parametrima

-Overriding je ako podklasa ima istu metodu kao roditeljski


-Overloading poboljsava citljivost programa
22. (26)- ++x ~ uvecaj i vrati uvecano x
- x++ ~ vrati x pa tek onda uvecaj x

23. (27)- Predstavlja operator poredjenja instance sa tipom


- Ako primenimo operator na vrednost null, vratice false
- Uvek vraca true ili false

24. (28)- SOLID je akronim za pet drugih principa dizajna klasa:


-Princip jedinstevene odgovornosti ~ Svaka klasa bi trebala biti
namenjena za pojedini deo ili funkcionalnost sistema
- Princip otvoreno-zatvoreni
-Liskov princip zamene
- Princip segresije interfejsa
-Princip inverzije zavisnoti

25. (29)- Signaliziraju gresku ili dogadjaj koju bi trebalo da proverimo I dele se na error I
exception
- Error prezentuje sistemske greske koje se retko desavaju, a exception nastaje
usled pisanja loseg koda(npr deljenje sa nulom ili radnja sa objektom vrednosti
null)
- Mozemo ubaciti kod koji rukuje exceptionima

26. (30)- JVM izbacuje error koji prezentuje sistemske greske koje se retko desavaju
- Error ima 3 direktne potklase
- ThreadDeath ~ izbacuje se kada se nit koja se izvrsava namerno stopira
- LinkageError ~ ozbiljni problemi sa klasama u nasem programu
- VirtualMachineError ~ 4 potklase izuzetaka koji se izbacuju kada se desi pad JVM
27. (31)- /
28. (32)- Throw ~ Izbacujemo izuzetak iz catch bloka koji je catch blok uhvatio

29. (33)- String je niz tekstualnih karaktera ali je takodje i klasa

- Skladisti se na heap-u u String Pool-u


- Castovanje stringa u neki primitivni tip koristi se Wrapper klasa I njena metoda
npr. Int I = Integer.parseInt(s)
- Za poredjenje stringova se ne koristi ==, vec equals ili ti equalsIgnoreCase za
velika mala slova
30. (34)- Konkatenacija je spajanje dva ili vise stringova

31. (35)- Alternativa za konkatenaciju omogucava kreiranje teksta koji moze da se prosiri

- StringBuffer je sinhronizovan, a StringBuilder nije; sto znaci da builder zauzima


manje memorije i efikasniji je
- Uvek koristiti StringBuilder osim ako je potrebno deliti tekst izmedju programskih
niti
32. (36)- /

33. (37, 38) – Binarni fajlovi sluze za cuvanje podataka u binarnom obliku

-Brzi su i zauzimaju manje prostora, ali nisu ljudski citljivi

34. (39) Klasa file omogucava apstraktni pogled ka datotekama, sluzi za manipulaciju
datoteka.
35. (40) Klasa files od verzije 1.7
-Omogucava nam citanje vise linija dokumenta metodom readAllLines
-Nije namenjena za velike fajlove

36. (41) Kad zelimo da citamo sve redove u jednoj operaciji, tamo gde ima smisla
37. (42) Input/Output stream su mehanizmi koji omugucavaju unificiran prisput
podacima.
-Input ~ ulaz
-Output ~ izlaz
-Kod tekstualnih tokova se koriste BufferedReader i Writer
38. (43) Output stream se oslanja na tokove koji prenose bajtove, a Writer na tokove koji
prenose karaktere.
39. (44) Lak pristup i sortiranje, podaci se lociraju preko indexa, mana je ogranicenost
niza.
40. (45) Jagged nizovi predstavljaju nizove nizova, oni su dvodimenzionalni, svaki
element je tipa array.
41. (46) Kolekcija je objekat koji sadrzi grupu objekata i tretira se kao celina, operacije
sluze za manipulaciju kolekcijama. Interface im definise zajednicko ponasanje.
42. (47) Prvo se proverava da li je prazna, ako kolekcija ima vrednosti one se uzimaju,
dodaju se nove i uklanjaju.
43. (48) Mapu definisemo kao key + value (key je jedinstven) brz pristup elementima,
uklanjanje i dodavanje.
Set ~ kolekcija koja ne dozvoljava duplikate

44. (49) Lista ~ dozvoljeni duplikati, pozicija elemenata po indexu


Mapa ~ Kljucevi su jedinstveni

45. (50) Pomocu iteratora se mozemo pomerati kroz kolekciju element po element.
Oznacava poziciju u kolekciji
46. (51) Generics je dodat verzijom 1.5, omogucava klasi i njenim metodama da rade sa
razlicitim tipovima podataka.
47. (52) Mapa ~ mapira jedinstvenim kljucevima, HashMap ~ implementira Map
interface i dozvoljava null element, nije uredjena ni sortirana.
48. (53) ArrayList ~ automatski menja velicinu, implementira se kao niz, dozvoljava read
null elementa; dodavanje i brisanje za odredjeni niz su neefikasni.
Vector ~ Slican je kao ArrayList ali su metode sinhronizovane, ako imamo vise
threadova koji pristupaju vektoru ne mogu da ga menjaju
49. (54) LinkedList ~ spregnuta lista, svaki element sadrzi pokazivace na sledeci,
AbstractSequentialList.
50. (57) Vraca null, vrednost specifiranog kljuca.
51. (58) Immutable definise vrednost objekkta kad se kreira, ne postoje metode i nacini
na koji moze da se menja.
52. (59) Tako sto cemo staviti final ispred naziva klase, tatributi moraju biti private i ne
kreirati metode.
53. (60) JVM ~ Java Virtual Machine, obezbedjuje runtime okruzenje, raspolozivu za
hardverske i softverske platforme,
JRE ~ Java Runtime Environment, sadrzi skup biblioteka, fizicki postoji
JDK ~ Java Development Kit, sadrzi JRE + razvojne alate
Pozitivna stvar kod jave je sto ne zavisi od platforme

54. (61) Ako je podešen CLASSPATH, onda JRE traži u aktuelnom direktorijumu ako
je to korisnik eksplicitno izrazio, ispitijući samo lokacije zadate u podešavanju
promenljive. Ako prethodno instalirani programi su umesto korisnika postavili
promenljivu CLASSPATH, onda korisnik  ručno dodaje aktuelni direktorijum u
putanju za pretragu. U CLASSPATH tačka predstavlja trenutni radni
direktorijum

55. (62) Stack ~ isto kao na algoritmima Heap se koristi za kreiranje objekata i alocira se
memorija dok se referenca cuva na stacku. Heap se deli izmedju svih niti JVM, dok se
stek odnosi samo na jednu. Stek skladisti promenljive dok heap skladisti objekte.
56. (65) Garbage collector radi kao proces u pozadini, ali ga mozemo i mi pozvati
komandom System.gc(); ali ce on sam odluciti da li treba da oslobadja memoriju, to
je samo sugestija da otpocne ciscenje. I pored njega moze doci do greske
OutOfMemory

57. (66) Asocijacija govori da su dve klase povezane.


Agregacija ~ nezavisna od roditlejske klase
Kompozicija ~ zavisna od roditeljske klase, ne postoji nezavisno od nje

You might also like