OO2/Probni testovi 2021
- Za pitanja sa više odgovora, tačni odgovori su podebljani i uokvireni.
- Za pitanja za koje se odgovori unose, tačni odgovori su podvučeni i sakriveni: ovako.
- Pritisnite na sledeće dugme kako biste ih sakrili ili otkrili:
Kolokvijum - samotestiranje
Na svakom pitanju je bilo ili moguće izabrati jedno ili više rešenja ili uneti odgovor u polje.
1. zadatak
Koje tvrdnje za jezik Java su tačne?
- Interpretiranje bajtkoda je po pravilu efikasnije od izvršenja programa na mašinskom jeziku.
- JIT (Just In Time) prevodilac prevodi izvorni kod programa u bajtkod.
- lmplementacija virtuelne mašine zavisi od konkretne platforme, ali interfejs prema bajtkodu ostaje isti.
- Izvorni kod programa se interpretira od strane virtuelne mašine.
- Izvorni kod programa se naziva bajtkod.
2. zadatak
Šta ispisuje sledeći program?
public class A {
public static void main(String[] args) {
String str1 = "abc", str2 = "abc", str3 = "ab" + "c", str4 = new String("abc");
System.out.println(str1==str2);
System.out.println(str1==str3);
System.out.println(str1==str4);
}
}
Izaberite jedan odgovor:
false false falsefalse false truetrue false falsetrue true falsetrue true true
3. zadatak
Dat je sledeći program:
public class Primer{
int polje;
static void f(Object o){
if(o instanceof Primer)
((Primer)o).polje = 1;
else if (o instanceof Integer)
o = 0;
}
public static void main(String[] args){
Primer p = new Primer();
Integer i = 0;
f(p);
f(i);
System.out.println(p.polje + " " + i);
}
}
Odabrati tačan odgovor Izaberite jedan odgovor:
- Kod je sintaksno neispravan.
- Program ispisuje vrednosti
0 0. - Program ispisuje vrednosti
0 1. - Program ispisuje vrednosti
1 0. - Program ispisuje vrednosti
1 1.
4. zadatak
Za pakete na jeziku Java važi:
- Postoje tipovi koji mogu pripadati većem broju paketa.
- Svaka klasa mora biti deo nekog paketa.
- Uvoženjem paketa ne uvoze se i svi potpaketi tog paketa.
- Sve klase koje se nalaze u istoj datoteci su deo istog paketa.
- Paket
java.langse automatski uvozi. - U datoteci može postojati više naredbi:
packagenaziv_paketa;
5. zadatak
Koje tvrdnje su tačne za nestatičke inicijalizacione blokove?
- Izvršavaju se nakon izvršavanja konstruktora svoje klase.
- Mogu bacati izuzetke.
- Može ih biti više u jednoj klasi.
- Izvršavaju se nakon punjenja klase u memoriju, a pre stvaranja prvog objekta date klase.
- Izvršavaju se nakon izvršavanja konstruktora natklase.
6. zadatak
Šta ispisuje sledeći program na programskom jeziku Java? Upisati 0 ukoliko se program ne prevodi, odnosno 1 ukoliko postoji greška u vreme izvršavanja programa.
class A {
private void m() {
System.out.print("a");
}
public A() {
m();
}
}
class B extends A {
public void m() {
System.out.print("b");
}
public B() {
m();
}
}
public class Test {
public static void main(String args[]) {
new B();
}
}
Odgovor:
7. zadatak
Modifikator abstract je moguće staviti ispred definicije:
- metoda
- klase
- interfejsa
- nabrajanja
- polja klase
8. zadatak
Šta važi za throw na programskom jeziku Java?
- Može se koristiti u statičkim inicijalizacionim blokovima.
- Predstavlja operator jezika Java.
- Parametar mu je referenca na objekat klase koja mora biti izvedena iz klase Exception.
- Može se koristiti bez parametra.
- Predstavlja ključnu reč jezika Java.
9. zadatak
Ukoliko su definisani sledeći interfejsi:
interface I1 {int m(int i);}
interface I2 {int m(int i, int k, int j);}
interface I3 {double m(int n);}
interface I4 {double m(double x, double y);}
interface I5 {int m(int i);}
koje od navedenih naredbi su ispravne?
int i=1,j=2; I5 i5=(i+j)->i*j;I3 i3=k->{double p=1; for (int i=1; i<=k; p*=i++); return p;};I2 i2=(x,y,z)->x+y-z;I4 i4=(a,b)->{a*b};I1 i1=n->n+5;
10. zadatak
Koja tvrđenja su tačna na programskom jeziku Java?
- Ako je pre ulaska u
wait()pozvan metodnotifyAll()za isti objekat, nit koja pozivawait()neće biti blokirana. - Po ulasku u
wait(), nit se blokira (suspenduje) i oslobađa se brava objekta. - Metodi
wait(),notify()inotifyAll()moraju da se pozivaju uz sinhronizovanih delova koda. - Metod
notify()budi samo jednu nit i to uvek onu koja je najduže čekala. wait()je metod klaseThread.