OO2/K 2023
Kolokvijum 2023. godine na RTI (i ostalim ER odsecima) održan je 22. arpila U 9:15 časova (postojala je samo jedna grupa). Od oblasti došli su uvod, pregled, klase, paketi, izvođenje, interfejsi, izuzeci i ugnježdeni tipovi na programskom jeziku Java.
- 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, tako da se prikažu kada izaberete taj tekst (primer: ovako)
- Pritisnite levo dugme ispod za sakrivanje i otkrivanje svih odgovora, ili desno dugme za uključivanje i isključivanje interaktivnog režima:
1. zadatak
Kojom komandom se sledeći programski kod napisan u fajlu sa imenom "Pozdrav.java" prevodi i kreira bajtkod "Pozdrav.class"?
//Pozdrav.java
public class Pozdrav {
public static void main(String[] args) {
System.out.print("Zdravo!");
}
}
- java Pozdrav
- java Pozdrav.java
- javac Pozdrav.java
- javac Pozdrav.class
2. zadatak
Koja od sledećih tvrđenja su tačna za programski jezik Java?
Izaberite jedan ili više odgovora:
- goto je rezervisana reč i ne može se koristiti za ime pormenljive.
- foreach je rezervisana reč i koristi se u instrukciji petlje za obilazak svih elemenata niza.
- final je rezervisana reč i ne može se koristiti za ime pormenljive.
- const je rezervisana reč i ne može se koristiti za ime pormenljive.
- const je rezervisana reč koja može da se koristi alternativno sa rezervisanom rečju final.
3. zadatak
Ne uzimajući u obzir ugnježdene i obuhvatajuće (spoljašnje) klase, spojiti navedene modifikatore prava pristupa sa njihovim odgovarajućim opisom na programskom jeziku Java?
- (bez modifikatora, podrazumevano) Član je dostupan samo u kodu datog paketa.
- private Član je dostupan samo u klasi u kojoj je defenisan.
- public Član je dostupan na svim mestima na kojima se može pristupiti i tipu u kojem je član definisan.
- protected Član je dostupan samo u izvedenim potklasama i kodu celog paketa u kojem se nalazi klasa u kojoj je član definisan.
4. zadatak
Koja od sledećih tvrđenja su tačna za ključnu reč this na programskom jeziku Java?
Izaberite jedan ili više odgovora:
- Može da se koristi za poziv drugog konstruktora iste klase.
- Može da se prosledi kao stvarni argument nekom metodu.
- Koristi se implicitno (bez navođenja) kao referenca na tekući objekat prilikom direktnog imenovanja nestatičkih članova klase.
- Može da se koristi kao referenca unutar statičkih metoda.
- Predstavlja referencu na objekat kome se upravo pristupa.
5. zadatak
Koja od sledećih tvrđenja su tačna na programskom jeziku Java?
Izaberite jedan ili više odgovora:
- U nekom fajlu sa izvornim kodom jednog programa može da postoji deklaracija package p.sp; iako ni u jednom fajlu istog programa ne postoji deklaracija package p;
- Moguće je definisati tip A u paketu p ukoliko je istoimeni tip već definisan u paketu p.sp.
- Ukoliko postoje paketi p i p.sp uvođenjem svih članova paketa p naredbom import p.*; uvode se i svi članovi paketa p.sp.
- Tipovi podata u izvornoj datoteci bez deklaracije paketa biće smeštani u bezimeni (default) paket.
- Moguće je pristupiti članu sa paketski pravom pristupa klase A definisane u paketu p iz metoda klase V definisane u paketu p.sp.
6. zadatak
Šta ispisuje sledeći program na progrmaskom jeziku Java?Upisati NP ako se program ne prevodi.
class Б {
public void f(B x) {
System.out.println(1);
}
}
class D extends B {
public void f(D x) {
System.out.println(2);
}
}
public class Test {
public static void main(String args[]) {
B b = new B();
b.f(new D());
b = new D();
b.f(new D());
}
}
Odgovor: 11
Objašnjenje: Ovde se primenjuje overloading, a ne overriding.
7. zadatak
Šta ispisuje sledeći program na progrmaskom jeziku Java?Upisati NP ako se program ne prevodi.
interface I {
static void f() {
System.out.println(1);
}
}
class Б {
public void f() {
System.out.println(2);
}
}
class D extends B implements I {
public D() {
I.f();
f();
}
}
public class Test {
public static void main(String args[]) {
new D();
}
}
Odgovor: 12
8. zadatak
9. zadatak
Koje definicije ugnježdenih tipova na jeziku Java su ispravne?
Izaberite jedan ili više odgovora:
- static class C {}
- abstract class C {}
- local class C {}
- class C {}
- final class C {}
- static interface I {}
- annonymous class {}
- interface I {}