OO2/Jun 2024
Junski rok 2024. godine na RTI (i ostalim ER odsecima) održan je 4. juna u dve grupe - G1 (SI) u 11:30h i G2 (RTI) u 12:05h i trajao je 20 minuta. Od oblasti došlo je kompletno gradivo osim Zrna u Javi i niti u C#.
- За питања са више одговора, тачни одговори су подебљани и уоквирени
- За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
- Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:
1. zadatak
Šta je od sledećih tvrđenja tačno za veličinu primitivnog tipa short
u jeziku Java?
- Veličina primitivnog tipa
short
je implementaciono zavisna, ali nije manja od 32 bita - Veličina primitivnog tipa
short
je 16 bita i nije implementaciono zavisna - Veličina primitivnog tipa
short
je 32 bita i nije implementaciono zavisna - Veličina primitivnog tipa
short
je 8 bita i nije implementaciono zavisna - Veličina primitivnog tipa
short
je implementaciono zavisna, ali nije manja od 16 bita
2. zadatak
Koja od sledećih tvrđenja su tačna za programski jezik Java?
- Statičko polje klase može da bude tipa klase u kojoj je definisano
- Statička polja moraju da se eksplicitno inicijalizuju na mestu njihove definicije u klasi
- Statička polja se inicijalizuju po učitavanju klase u memoriju, u fazi inicijalizacije
- Statička polja se inicijalizuju kada se vrši stvaranje objekta klase
- Svi objekti dele jednu kopiju statičkog polja
3. zadatak
Napisati naredbu kojom se uvozi samo klasa A iz paketa paket
Odgovor: import paket.A;
4. zadatak
Koja od sledećih tvrđenja su tačna za programski jezik Java?
- Zaštićeni nestatički metod može da bude nadjačan kao javni
- Zaštićeni nestatički metod može da bude nadjačan kao privatni
- Nestatički metod sa paketskim pravom pristupa može da bude nadjačan kao javni
- Zaštićeni nestatički metod može da bude nadjačan kao paketski
- Nestatički metod sa paketskim pravom pristupa može da bude nadjačan kao zaštićeni
5. zadatak
Koja od sledećih tvrđenja su tačna za interfejse u programskom jeziku Java?
- Interfejsi mogu da imaju polja u koja se samo jednom upisuje (samo modifikator
final
) - Metodi interfejsa mogu da budu javni (
public
), zaštićeni (protected
) i paketski - Statički metodi mogu da imaju podrazumevanu implementaciju u interfejsu, što mora da se naznači modifikatorom metoda
default
- Interfejs može da se izvede iz najviše jednog interfejsa, a klasa može da implementira proizvoljan broj interfejsa
- Podrazumevane implementacije nestatičkih metoda (označene modifikatorom
default
) u interfejsima su dozvoljene
6. zadatak
Šta ispisuje sledeći program na jeziku Java? Upisati 0 ukoliko smatrate da se program ne prevodi, odnosno -1 ako smatrate da ispis može da se razlikuje od pokretanja do pokretanja.
public class Main extends Thread {
public void run() {
try {
System.out.println("A");
sleep(1000);
System.out.println("B");
} catch (InterruptedException e) {}
public static void main (String[] args) {
for (int i = 0; i < 2; i++) {
try {
Main m = new Main();
m.start();
m.join();
} catch (InterruptedException e) {}
}
}
}
Odgovor: ABAB
7. zadatak
Koja od sledećih tvrđenja su tačna za ključnu reč synchronized na programskom jeziku Java?
- Naredba synchronized može da se koristi u telu metoda koji nije označen metodom synchronized
- Ukoliko jedna nit pristupa synchronized metodu nekog objekta, druga nit ne može direktno da pristupa javnim metodima istog polja
- Moguće je koristiti modifikator synchronized za statičke metode klase
- Ukoliko metod m() ima modifikator synchronized u osnovnoj klasi, pristup super.m() iz nadjačanog metoda izvedene klase moguć je samo ukoliko i metod m() izvedene klase ima modifikator synchronized
- Ukoliko jedna nit pristupa nestatičkom metodu sa modifikatorom synchronized, druga nit ne može da pristupi statičkom metodu sa modifikatorom synchronized
8. zadatak
Za sledeće metode navesti iz kog interfejsa AWT osluškivača potiče
- componentMoved ComponentListener
- windowClosing WindowListener
- mouseClicked MouseListener
9. zadatak
Šta ispisuje sledeći program na jeziku C#? Upisati NP ako smatrate da se program ne prevodi
using System;
class Klasa {
public static void f(ref int x) {
x += 5;
}
public static void f(out int x) {
x = 0;
}
public static void Main() {
int x = 2;
f(ref x);
Console.Write(x);
}
}
Odgovor: NP
Objašnjenje: Ne mogu istovremeno postojati dve funkcije sa istim potpisom čija je jedina razlika to što jedna uzima parametar preko ref
a druga preko out
!
10. zadatak
Šta ispisuje sledeći program na jeziku C#? Upisati NP ako smatrate da se program ne prevodi
using System;
class Klasa {
private int x = 20;
public int Svojstvo { get {return x * 2; } set { x = value / 2; } }
public static void Main() {
Klasa obj = new Klasa();
obj.Svojstvo -= 2;
Console.Write(obj.Svojstvo);
}
}
Odgovor: 38