V Grupa Flashcards

1
Q
  1. Navedite znacaj primene interfejsa Comparable. Kako se porede objekti u Java programima?
A

Interfejs Comparable definise metod compareTo() koji uporedjuje objekte. Metod equals() proverava da li su dva objekta jednaka, tj. da li imaju isti sadrzaj.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q
  1. Eksplicitna konverzija tipa objekta - objasnite.
A

→ Konverzija objekta (casting object) predstavlja konverziju objekta jednog tipa u objekat drugog tipa. Kada se vrsi konverzija tipa promenljive superklase u tip promenljive podklase (downcasting) mora se koristiti eksplicitna konverzija tipova da bi se naznacilo komplajleru da nije greska, vec nasa namera. Ako objekat superklase nije primerak podklase, dolazi do greske ClassCastException.
Primer eksplicitne konverzije:
Student student = (Student) objekat;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q
  1. Konverzija primitivnih tipova i konverzija tipova objekata - objasnite.
A

→ Konverzija tipa se moze uraditi kada je izvorni objekat primerak iz ciljne klase. Kod konverzije tipova objekta se ne kreira novi objekat nego reference promenljivih pokazuju na isti objekat.
Objekat objekat = new Krug();
Krug krug = (Krug) objekat;
→ Dok kod konverzije primitivnih vrednosti vraca novu vrednost.
int broj = 10;
Byte noviBroj = (byte) broj;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q
  1. Uporedjivanje dva objekata metodom equals() - objasnite.
A
Metoda equals() proverava da li su dva objekta jednaka, tj. da li imaju isti sadzaj. Ona ima povratni tip boolean sto znaci da vraca samo jednu od moguce dve vrednosti (true ili false). Metoda equals() je metoda klase Object i moze se redefinisati (override-ovati) u drugim klasama tj. podklasama klase Object.
objekat1.equals(objekat2);
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q
  1. Memorisanje objekata primenom klase ArrayList - objasnite.
A

Klasa ArrayList je veoma zgodna za memorisanje objekata. Pri kreiranju liste za memorisanje objekata, lista je fiksna i ne moze se povecavati niti smanjivati, dok je broj elemenata neogranicen u slucaju kada se koristi Javina klasa ArrayList.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q
  1. Navedite i objasnite preporuke za projektovanje klasa.
A

→ Kohezija - Jedna klasa bi trebalo da predstavlja samo jedan entitet.
→ Konzistentnost - Treba stlediti standardnom Javinom stilu i konvenciji nizova. Koristiti informativne nazive klasa, metoda i polja podataka.
→ Ucaurenje - Klasa treba da koristi modifikator private da bi sprecio da klijenti imaju direktni prilaz atributima klase. Koristite getter i setter metode za citanje i unos vrednosti podataka, ako to zelite da omogucite.
→ Kompletnost - Klase se projektuju da budu koriscene od mnogih korisnika. Zbog toga, klasa bi trebalo da omogucava korisnicima razlicite nacine prilagodjavanja polja podataka i metoda.
→ Jasnoca - Klasa bi trebalo da ima jasan interfejs koji je razumljiv i lako objasnjiv
→ Objektni i staticki -Promenljiva ili metod koji zavisi od specifičnog primerka klase, tj. njenog objekta, je objektna promenljiva ili objektni metod. Promenljiva koju dele svi primerci jedne klase (objekti) je statička. Ne prebacujte parametar iz konstruktora da bi inicijalizovali vrednost statičkog polja podataka. Bolje je da koristite setter metod za to. Statička promenljiva ili statički metod mogu se pozvati iz meto
→ Nasledjivanje i agregacija - Nasledjivanje je veza tipa “to-je” (is-a), agregacija je veza tipa “ima” (has-a)
→ Interfejsi i apstraktne klase - Za jake veze tipa “to-je” koristi se nasledjivanje klasa. Slabe veze tipa “je-vrsta-od” (is-kind-of) modeluju se interfejsima

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q
  1. Sta je izuzetak? Navedite neke najpoznatije izuzetke?
A

→ Izuzetak je objekat koji predstavlja neku gresku ili neki uslov koji sprecava normalno izvrsenje programa. Izuzetak se cesto izbacuje iz nekog metoda.
Postoje:
ArrayIndexOutOfBoundsException, StringIndexOutOfBoundsException, NullPointerException, AritmheticException, InputMismatchException, FileNotFoundException, IllegalArgumentException, NoSuchElementException, IOException;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q
  1. Koje vrste izuzetaka poznajete?
A

Klase izuzeci se mogu klasifikovati u tri glavne vrste:
→ Sistemske greske - izbacuju od strane JVM i predstavljaju objekte klase Error.
→ Izuzeci - objekti klase Exception, koja opisuje greske prouzrokovane nasim programom i spoljnim okolnostima.
→ Izuzeci u fazi izvrsenja - objekti klase RuntimeException, koja opisuje greske programirajna.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q
  1. Objasnite izbacivanje i obradu izuzetaka.
A

Kada program otkrije neku gresku, kreira objekat odgovarajuce klase izuzetaka i izbacuje ga (throw). To se zove izbacivanje izuzetka. Cim Java naidje na iskaz u try bloku koji izbacuje neki izuzetak, pocinje da trazi obradjivac izuzetka u nekom od catch blokova, koji izvrsava program.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q
  1. Kada je potrebno upotrebiti izuzetke?
A

Blok try-catch bi trebalo koristiti kad radite sa neocekivanim uslovima za javljanje gresakam a ne u jednostavnim i ocekivanim situacijama.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q
  1. Kreiranje vlastitih klasa izuzetaka.
A

Ako ni jedan postojeci izuzetak u Javi ne odgovara vasim potrebama, mozete kreirati sopstveni izuzetak, kao podkasu klase Exception ili neke njene podklase.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q
  1. Olancani izuzeci - objasnite.
A

Olancane izuzetke imamo kada se izbaci novi izuzetak, pored pocetnog izuzetka.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q
  1. Razlika izmedju throw i throws - objasnite.
A

→ Throw naredbu koristimo kada zelimo da izbacimo jedan konkretan izuzetak unutar metode.
Na primer:
throw new ArithmeticException();
→ throws koristimo kada zelimo da izbacimo vise izuzetaka tj. da naznacimo koji ce se izuzeci javiti unutar metode.
Na primer:
/Imamo metodu koja vrsi neku operaciju nad dva broja, ali ta metoda moze baciti vise od jednog izuzetka koji su tipa ArithmeticException. Tada koristimo:/
throws (public int nazivMetode() throws ArithmeticException {…}).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q
  1. Klauzule try, catch i finally - objasnite upotrebu.
A

Blok try sadrzi kod koji se izvrsava u normalnim okolnostima. Izuzetak izbacen sa throw naredbom se hvata u bloku catch koji izvrsava. Finally omogucava da se program izvrsava bez obzira na javljanje izuzetaka.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q
  1. Sta su datoteke?
A

Datoteka je skup podataka koji se smestaju na jednoj logickoj adresi u trajnoj memoriji racunara.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q
  1. Ulaz i izlaz tekstualnih datoteka - objasnite.
A

PrintWriter klasa se koristi za upisivanje tekstualnih podataka u neku datoteku, dok se klasa Scanner upotrebljava za citanje tekstualnih podataka iz datoteke. Unos tekstualnih podataka sa datoteke se vrsi kreiranjem objekta Scanner(new File(“test.txt)) i koriscenjem negovih metoda kao sto su next… Byte(), Short(), Long(), Float, Double i samo next(). Unos podataka preko tastature se vrsi kreiranjem objekta Scanner(System.in) i koriscenjem njegovih metoda koje su iste kao kod tekstualnih podataka.

17
Q
  1. Citanje podataka sa veba - objasnite
A
→ Kao sto mozemo citati podatke sa datoteke na nasim racunarima, isto tako mozemo citati iz datoteke koja se nalazi na internetu koriscenjem njegovog URL-a. Da bi ucitali podatke moramo kreirati URL objekat upotrebom java.net.URL klase. Izuzetak MalformedURLException je izbacen ako URL sintaksa ima gresku.
try {
Url url = new URL(“http://www.google.com/index.html”);
} catch (MalformedURLException ex) {
ex.printStackTrace();
}
18
Q
  1. Cuvanje binarnih podataka u datotekama - objasnite.
A

Binarni fajlovi sluze kako bi ih citali racunari. …Binarni fajl sluzi za cuvanje ove podate u formi koja cuva strukturu koju koristi program. Serializacija je proces konvertovanja objekta u binarnu sekvencu koja se moze cuvati u fajlu

19
Q
  1. Cuvanje objekata u datotekama - objasnite.
A

Cuvanje objekata u javi se moze postici na vise nacina, od kojih je naj istaknutiji(korisceniji) serijalizacija objekata - cuvanjem objekta u fajl i citanjem koriscenjem ObjectOutputStream i ObjectInputStream. Za hvatanje private, protected ili public objekata koristimo getter metodu. Za dodavanje vrednosti objektima koristimo setter metodu.

20
Q
  1. Operacija citanja i pisanja u datotekama sa slucajnim pristupom - objasnite
A

Java obezbedjuje klasu RandomAccessFile koja dozvoljava da se datoteka cita ili da se u nju vrsi zapis na slucajno odredjenim lokacijama. Datoteke sa slucajnim pristupom sadrzi niz bajtova. Specijalan marker (pointer) datoteke pozicionira se na jedan od ovih bajtova. Operacija citanja ili pisanja se izvrsava na lokaciji pointera datoteke.

20
Q
  1. Operacija citanja i pisanja u datotekama sa slucajnim pristupom - objasnite
A

Java obezbedjuje klasu RandomAccessFile koja dozvoljava da se datoteka cita ili da se u nju vrsi zapis na slucajno odredjenim lokacijama. Datoteke sa slucajnim pristupom sadrzi niz bajtova. Specijalan marker (pointer) datoteke pozicionira se na jedan od ovih bajtova. Operacija citanja ili pisanja se izvrsava na lokaciji pointera datoteke.