<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sr">
	<id>https://siwiki.rs/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Petar+Smolovic</id>
	<title>SI Wiki - Кориснички доприноси [sr]</title>
	<link rel="self" type="application/atom+xml" href="https://siwiki.rs/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Petar+Smolovic"/>
	<link rel="alternate" type="text/html" href="https://siwiki.rs/wiki/%D0%9F%D0%BE%D1%81%D0%B5%D0%B1%D0%BD%D0%BE:%D0%94%D0%BE%D0%BF%D1%80%D0%B8%D0%BD%D0%BE%D1%81%D0%B8/Petar_Smolovic"/>
	<updated>2026-06-04T06:27:16Z</updated>
	<subtitle>Кориснички доприноси</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9A%D0%BE%D1%80%D0%B8%D1%81%D0%BD%D0%B8%D0%BA:Petar_Smolovic&amp;diff=4375</id>
		<title>Корисник:Petar Smolovic</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9A%D0%BE%D1%80%D0%B8%D1%81%D0%BD%D0%B8%D0%BA:Petar_Smolovic&amp;diff=4375"/>
		<updated>2022-06-06T16:43:22Z</updated>

		<summary type="html">&lt;p&gt;Petar Smolovic: Нова страница: Discord : pandemonium#1569&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Discord : pandemonium#1569&lt;/div&gt;</summary>
		<author><name>Petar Smolovic</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9E%D0%9E2/%D0%9A2_2021&amp;diff=4374</id>
		<title>ОО2/К2 2021</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9E%D0%9E2/%D0%9A2_2021&amp;diff=4374"/>
		<updated>2022-06-06T16:40:19Z</updated>

		<summary type="html">&lt;p&gt;Petar Smolovic: /* 3. zadatak */ za ispis je samo zaboravljena () u ispisu&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{rešenja}}&lt;br /&gt;
&lt;br /&gt;
== G1 ==&lt;br /&gt;
=== 1. zadatak ===&lt;br /&gt;
Označiti tačna tvrđenja na programskom jeziku Java:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Ako konstruktor natklase nema konstruktor bez parametara (&#039;&#039;no-arg&#039;&#039;) potrebno je eksplicitno pozvati taj konstruktor u prvoj liniji konstruktora posmatrane klase.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Konstruktor natklase će biti implicitno pozvan ako postoji i bez parametara je.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Konstruktor natklase se može eksplicitno pozvati imenom te klase.&lt;br /&gt;
# ??&lt;br /&gt;
# ??&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2. zadatak ===&lt;br /&gt;
Označiti tačna tvrđenja na programskom jeziku Java:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# Interfejs može da proširuje&amp;lt;ref name=&amp;quot;interface&amp;quot;&amp;gt;Ovo nije bila navlakuša, već je trebalo da piše &amp;quot;implementira&amp;quot;. Nekim studentima koji su ovakvu grešku smatrali namernom su bodovi koje su izgubili nezaokruživanjem tačnih tvrdnji zbog ove greške bili priznati naknadno.&amp;lt;/ref&amp;gt; više klasa.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Interfejs može da proširuje&amp;lt;ref name=&amp;quot;interface&amp;quot; /&amp;gt; više interfejsa.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Interfejs može da proširi&amp;lt;ref name=&amp;quot;interface&amp;quot; /&amp;gt; samo jedan interfejs.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Interfejs može biti osnova za proširivanje&amp;lt;ref name=&amp;quot;interface&amp;quot; /&amp;gt; više interfejsa.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Interfejs se implicitno izvodi iz klase &#039;&#039;Object&#039;&#039;.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 3. zadatak ===&lt;br /&gt;
Označiti tačna tvrđenja na programskom jeziku Java:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Anonimna klasa je lokalna klasa bez imena.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Anonimna klasa se definiše u izrazu new, kao deo naredbe.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Anonimna klasa proširuje drugu klasu ili interfejs.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Natklasa anonimne klase se definiše u imenu te klase.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Anonimna klasa u svojoj definiciji koristi ključne reči &amp;lt;code&amp;gt;extends&amp;lt;/code&amp;gt; i/ili &amp;lt;code&amp;gt;implements&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 4. zadatak ===&lt;br /&gt;
Šta ispisuje sledeći kod na programskom jeziku Java? (Upisati 0 ako se program ne prevodi.)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
interface A { default void m() { System.out.print(&amp;quot;A.m()&amp;quot;); } }&lt;br /&gt;
interface B { default void m() { System.out.print(&amp;quot;B.m()&amp;quot;); } }&lt;br /&gt;
public class C implements A,B {&lt;br /&gt;
    public void m() { System.out.print(&amp;quot;C.m()&amp;quot;); A.super.m(); B.super.m(); }&lt;br /&gt;
    public static void main(String[] arguments) {&lt;br /&gt;
        C c = new C();&lt;br /&gt;
        c.m();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;C.m()A.m()B.m()&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 5. zadatak ===&lt;br /&gt;
Šta se može napisati umesto &amp;lt;code&amp;gt;###&amp;lt;/code&amp;gt; kako bi se sledeći kod na programskom jeziku Java prevodio ispravno?&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
interface Calc {&lt;br /&gt;
    int m(int a, int b);&lt;br /&gt;
}&lt;br /&gt;
public class Test {&lt;br /&gt;
    public static void main(String[] arguments) {&lt;br /&gt;
        ###&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Calc c = (int a, int b) -&amp;gt; a + b;&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Calc c = a, b -&amp;gt; a + b ;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Calc c = a, b -&amp;gt; { a + b };&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Calc c = (int a, b) -&amp;gt; return a + b;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Calc c = (int a, int b) -&amp;gt; { return a + b; };&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 6. zadatak ===&lt;br /&gt;
Šta se može napisati umesto &amp;lt;code&amp;gt;$$$&amp;lt;/code&amp;gt; kako bi se sledeći kod na programskom jeziku Java ispravno izvršavao i ispisivao 3?&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
class Spoljna {&lt;br /&gt;
    int x = 1;&lt;br /&gt;
    class Unutrasnja {&lt;br /&gt;
        int x = 2;&lt;br /&gt;
        public void m(int x) {&lt;br /&gt;
            System.out.println($$$);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public class Main {&lt;br /&gt;
    public static void main(String[] arguments) {&lt;br /&gt;
        new Spoljna().new Unutrasnja().m(3);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;this.x&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;x&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;super.x&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Spoljna.this.x&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Spoljna.x&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 7. zadatak ===&lt;br /&gt;
Označiti tačna tvrđenja na programskom jeziku Java:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;finally&#039;&#039; blok se izvršava samo ukoliko se u &#039;&#039;try&#039;&#039; bloku baci izuzetak.&lt;br /&gt;
# &#039;&#039;finally&#039;&#039; blok se izvršava samo ukoliko se u &#039;&#039;try&#039;&#039; bloku ne baci izuzetak.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&#039;&#039;finally&#039;&#039; blok se izvršava bez obzira na to da li je u &#039;&#039;try&#039;&#039; bloku bačen izuzetak.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Može postojati samo jedan &#039;&#039;finally&#039;&#039; blok za posmatrani &#039;&#039;try&#039;&#039; blok.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;U &#039;&#039;finally&#039;&#039; bloku može biti bačen izuzetak.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 8. zadatak ===&lt;br /&gt;
Označiti tačna tvrđenja na programskom jeziku Java:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Telo metode &#039;&#039;run&#039;&#039; klase Thread je prazno.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Korisnik eksplicitno treba da pozove metodu &#039;&#039;run&#039;&#039;.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Klasa izvedena iz klase Thread treba&amp;lt;ref&amp;gt;Ovo nije navlakuša već se misli pri konkretnom korišćenju, tako da treba, ali ne mora - samo neće raditi ništa.&amp;lt;/ref&amp;gt; da nadjača metodu &#039;&#039;run&#039;&#039;.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Java virtuelna mašina implicitno zove metodu &#039;&#039;run&#039;&#039;.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Nit normalno završava izvršenje po povratku iz njenog metoda &#039;&#039;run&#039;&#039;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 9. zadatak ===&lt;br /&gt;
Označiti tačna tvrđenja na programskom jeziku Java:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Poziv &#039;&#039;interrupt&#039;&#039; nad blokiranom niti metodom join() izaziva izuzetak &#039;&#039;InterruptedException&#039;&#039;.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Poziv &#039;&#039;interrupt&#039;&#039; nad blokiranom niti metodom join() izaziva izuzetak &#039;&#039;ThreadDeath&#039;&#039;.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Poziv &#039;&#039;interrupt&#039;&#039; nad blokiranom metodom join() nit se deblokira.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Poziv &#039;&#039;interrupt&#039;&#039; nad blokiranom niti metodom join() ne postavlja &#039;&#039;interrupted&#039;&#039; status.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Tvrdnja pod d je na kolokvijumu bila označena kao tačna, ali zapravo nije, i studentima su naknadno bili priznavani bodovi. U verziji prezentacije iz niti iz 2021 je ovaj deo na slajdu 11 ispravljen.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 10. zadatak ===&lt;br /&gt;
Šta je tačno za sledeći kod na programskom jeziku Java?&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class Test {&lt;br /&gt;
    public static void main(String[] arguments) {&lt;br /&gt;
        Thread t1 = new Thread(() -&amp;gt; { while (true); });&lt;br /&gt;
        t1.setDaemon(false);&lt;br /&gt;
        t1.start();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# Referenca &#039;&#039;t1&#039;&#039; pokazuje na demonsku nit.&lt;br /&gt;
# Java virtuelna mašina (JVM) završava svoj rad nakon završetka glavne funkcije.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Linija sa &#039;&#039;setDaemon&#039;&#039; u kodu ne menja demonski status niti na koju pokazuje &#039;&#039;t1&#039;&#039;.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Nakon izvršenja glavne funkcije se ne izlazi iz programa jer ima još korisničkih niti za izvršavanje.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Linija sa &#039;&#039;setDaemon&#039;&#039; u kodu ne menja ništa, odnosno nema efekta.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== G2 ==&lt;br /&gt;
=== 1. zadatak ===&lt;br /&gt;
Označiti tačna tvrđenja na programskom jeziku Java:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# Eksplicitni ili implicitni poziv konstruktora nadklase se može izbeći ako se u konstruktoru izvedene klase pozove neki drugi konstruktor te iste klase.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Ako se koristi, poziv drugog konstruktora iste klase mora biti prva naredba u konstruktoru.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Konstrukcija objekta se može delegirati pozivom jednog konstruktora iz drugog konstruktora.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Rekurziju u delegiranju konstruktora detektuje prevodilac.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Dozvoljeno je u konstruktoru prvo pozvati konstruktor nadklase a zatim delegirati konstrukciju nekom drugom konstruktoru.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2. zadatak ===&lt;br /&gt;
Označiti tačna tvrđenja na programskom jeziku Java:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Referenca na neki interfejs može pokazivati na literal &#039;&#039;&#039;null&#039;&#039;&#039;.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Svi interfejsi su izvedeni iz klase &#039;&#039;Interface&#039;&#039; u paketu &#039;&#039;&#039;java.lang&#039;&#039;&#039;.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Referenci na neki interfejs može se dodeliti objekat bilo koje klase koja proširuje&amp;lt;ref name=&amp;quot;interface&amp;quot; /&amp;gt; taj interfejs.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Referenci na interfejs se može dodeliti objekat koji se dobije kada se sa druge strane alokatora &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; nađe naziv tog interfejsa.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Referenca na neki interfejs se može dodeliti referenci tipa &#039;&#039;Object&#039;&#039;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 3. zadatak ===&lt;br /&gt;
Šta ispisuje sledeći kod na programskom jeziku Java? Ukoliko se program ne kompajlira, upisati 0.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
interface A { default void m() { System.out.println(&amp;quot;A.m()&amp;quot;); } }&lt;br /&gt;
class C { public void m() { System.out.println(&amp;quot;C.m()&amp;quot;); } }&lt;br /&gt;
public class Test extends C implements A {&lt;br /&gt;
    public static void main(String[] arguments) {&lt;br /&gt;
        Test t = new Test();&lt;br /&gt;
        t.m();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;C.m()&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 4. zadatak ===&lt;br /&gt;
Anonimna klasa na programskom jeziku Java može sadržati:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# konstruktor&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;nestatičke metode&amp;lt;/span&amp;gt;&lt;br /&gt;
# statičke metode&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;nestatička polja&amp;lt;/span&amp;gt;&lt;br /&gt;
# statička polja&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 5. zadatak ===&lt;br /&gt;
Šta se može napisati umesto &amp;lt;code&amp;gt;###&amp;lt;/code&amp;gt; kako bi se sledeći kod na programskom jeziku Java prevodio ispravno?&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
interface Calc {&lt;br /&gt;
    int m(int a, int b);&lt;br /&gt;
}&lt;br /&gt;
public class Test {&lt;br /&gt;
    public static void main(String[] arguments) {&lt;br /&gt;
        ###&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Calc c = (int a, int b) -&amp;gt; a + b;&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Calc c = (int a, int b) -&amp;gt; { a + b };&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Calc c = (int a, int b) -&amp;gt; { int r = a + b; return r; };&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Calc c = (int a, int b) -&amp;gt; return a + b;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Calc c = (int a, int b) -&amp;gt; { return a + b; };&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 6. zadatak ===&lt;br /&gt;
Šta se može napisati umesto &amp;lt;code&amp;gt;$$$&amp;lt;/code&amp;gt; kako bi se sledeći kod na programskom jeziku Java ispravno izvršavao i ispisivao 2?&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
class Spoljna {&lt;br /&gt;
    int x = 1;&lt;br /&gt;
    class Unutrasnja {&lt;br /&gt;
        int x = 2;&lt;br /&gt;
        public void m(int x) {&lt;br /&gt;
            System.out.println($$$);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public class Main {&lt;br /&gt;
    public static void main(String[] arguments) {&lt;br /&gt;
        new Spoljna().new Unutrasnja().m(3);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;x&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;this.x&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;super.x&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Spoljna.this.x&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Spoljna.x&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 7. zadatak ===&lt;br /&gt;
Označiti tačna tvrđenja na programskom jeziku Java:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&#039;&#039;finally&#039;&#039; blok može da postoji bez &#039;&#039;catch&#039;&#039; bloka.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &#039;&#039;finally&#039;&#039; blok se izvršava samo ukoliko se u &#039;&#039;catch&#039;&#039; bloku baci izuzetak.&lt;br /&gt;
# &#039;&#039;finally&#039;&#039; blok se izvršava samo ukoliko se u &#039;&#039;catch&#039;&#039; bloku ne baci izuzetak.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&#039;&#039;finally&#039;&#039; blok se izvršava bez obzira na to da li je u &#039;&#039;catch&#039;&#039; bloku bačen izuzetak.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&#039;&#039;finally&#039;&#039; blok se izvršava iako ne dođe do greške.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 8. zadatak ===&lt;br /&gt;
Označiti tačna tvrđenja na programskom jeziku Java:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# Metoda &#039;&#039;start&#039;&#039; ponovo pokreće nit ukoliko je završena.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Ponovni poziv &#039;&#039;start&#039;&#039; nakon završetka niti je greška.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Poziv metode &#039;&#039;start&#039;&#039; stavlja nit nad kojom je pozvana u red spremnih niti.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Nit koja poziva &#039;&#039;start&#039;&#039; se blokira.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Nit koja poziva &#039;&#039;start&#039;&#039; se ne blokira.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 9. zadatak ===&lt;br /&gt;
Označiti tačna tvrđenja na programskom jeziku Java:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Poziv &#039;&#039;interrupt&#039;&#039; nad blokiranom niti izaziva izuzetak &#039;&#039;InterruptedException&#039;&#039;.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Poziv &#039;&#039;interrupt&#039;&#039; nad blokiranom niti izaziva izuzetak &#039;&#039;ThreadDeath&#039;&#039;.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Poziv &#039;&#039;interrupt&#039;&#039; nad blokiranom niti je deblokira.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Poziv &#039;&#039;interrupt&#039;&#039; nad blokiranom niti ne menja njeno stanje.&lt;br /&gt;
# Pozivom metoda &#039;&#039;interrupt&#039;&#039; za neku nit koja je suspendovana pozivom metoda &#039;&#039;sleep&#039;&#039; ne vrši se postavljanje statusa prekida te niti.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Tvrdnja pod e je na kolokvijumu bila označena kao tačna, ali zapravo nije, i studentima su naknadno bili priznavani bodovi. U verziji prezentacije iz niti iz 2021 je ovaj deo na slajdu 11 ispravljen.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 10. zadatak ===&lt;br /&gt;
Šta je tačno za sledeći kod na programskom jeziku Java?&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class Test {&lt;br /&gt;
    public static void main(String[] arguments) {&lt;br /&gt;
        Thread t1 = new Thread(() -&amp;gt; { while (true); });&lt;br /&gt;
        t1.setDaemon(true);&lt;br /&gt;
        t1.start();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Referenca &#039;&#039;t1&#039;&#039; pokazuje na demonsku nit.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Java virtuelna mašina (JVM) završava svoj rad nakon završetka glavne funkcije.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Linija sa &#039;&#039;setDaemon&#039;&#039; u kodu ne menja demonski status niti na koju pokazuje &#039;&#039;t1&#039;&#039;.&lt;br /&gt;
# Nakon izvršenja glavne funkcije se ne izlazi iz programa jer ima još korisničkih niti za izvršavanje.&lt;br /&gt;
# Referenca &#039;&#039;t1&#039;&#039; ne pokazuje na demonsku nit.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== G3 ==&lt;br /&gt;
=== 1. zadatak ===&lt;br /&gt;
Šta će sledeći program ispisati? Napisati 0 ukoliko se program ne prevodi.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
interface A { default void m() { System.out.print(&amp;quot;A.m()&amp;quot;); } }&lt;br /&gt;
interface B { default void m() { System.out.print(&amp;quot;B.m()&amp;quot;); } }&lt;br /&gt;
public class X implements A, B {&lt;br /&gt;
    public void f() { System.out.print(&amp;quot;X.f()&amp;quot;); A.super.m(); B.super.m(); }&lt;br /&gt;
    public static void main (String[] args) {&lt;br /&gt;
        X x = new X();&lt;br /&gt;
        x.f();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Klasa X implementira interfejse koji imaju podrazumevanu metodu istog naziva, a pritom je ne redefiniše kao svoj metod, što je u Javi greška i takav program se neće prevoditi.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2. zadatak ===&lt;br /&gt;
Koji su iskazi tačni za metod &amp;lt;code&amp;gt;wait&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Ukoliko se pozove &#039;&#039;interrupt&#039;&#039; za nit za koju je prethodno pozvano &#039;&#039;wait&#039;&#039;, takva nit će se deblokirati.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Ukoliko se pozove &#039;&#039;interrupt&#039;&#039; za nit za koju je prethodno pozvano &#039;&#039;wait&#039;&#039;, baciće se izuzetak &#039;&#039;InterruptedException&#039;&#039;.&lt;br /&gt;
# Ukoliko se pozove &#039;&#039;interrupt&#039;&#039; za nit za koju je prethodno pozvano &#039;&#039;wait&#039;&#039;, baciće se izuzetak &#039;&#039;ThreadDeath&#039;&#039;.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Ukoliko se pozove &#039;&#039;interrupt&#039;&#039; za nit za koju je prethodno pozvano &#039;&#039;wait&#039;&#039;, neće se promeniti status prekida.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Tvrdnja pod d je na kolokvijumu bila označena kao tačna, ali zapravo nije, i studentima su naknadno bili priznavani bodovi. U verziji prezentacije iz niti iz 2021 je ovaj deo na slajdu 11 ispravljen.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 3. zadatak ===&lt;br /&gt;
Koji su iskazi tačni za metod &amp;lt;code&amp;gt;join&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Pozivom metoda &#039;&#039;join&#039;&#039; bez argumenata za neku nit, nit koja poziva metod čeka da nit za koju je metod pozvan završi izvršavanje.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Metod &#039;&#039;join&#039;&#039; se može pozvati bez argumenata.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Pozivom metoda &#039;&#039;join&#039;&#039; za neku nit sa zadatim vremenom u milisekundama čekaće se bar toliko vremena, bez obzira na to da li je nit završila izvršavanje pre isteka vremena.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Metod &#039;&#039;join&#039;&#039; ne može da se nadjača u izvedenim klasama.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Pozivom metoda &#039;&#039;join&#039;&#039; podrazumevano se završava nit za koju je pozvan metod.&amp;lt;!-- Napomena: Nije baš ovako glasilo, te nisam siguran kako je tačno baš bilo. --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 4. zadatak ===&lt;br /&gt;
Šta važi za anonimne klase:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Anonimne klase mogu pristupati nestatičkim poljima okružujuće klase.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Anonimne klase mogu pristupati statičkim poljima okružujuće klase.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Anonimne klase mogu pristupati nepromenljivim parametrima metoda koji ih okružuje.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Anonimne klase mogu pristupati lokalnim promenljivama okružujućeg metoda kojima se ne menja vrednost.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Anonimne klase mogu pristupati svim lokalnim promenljivama okružujućeg metoda, kao i njegovim parametrima, bez obzira na to da li im se menja vrednost.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 5. zadatak ===&lt;br /&gt;
Šta važi za interfejse:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Podrazumevano su polja interfejsa javna, statička i konačna.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Podrazumevano su metodi interfejsa apstraktni i javni.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Interfejsi mogu definisati podrazumevane metode.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Interfejsi mogu definisati statičke metode.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Interfejsi mogu imati modifikator final.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 6. zadatak ===&lt;br /&gt;
Navesti šta je tačno za demonske niti:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Demonstvo se nasleđuje od niti iz koje je kreirana data nit.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Demonstvo može da se menja nakon pokretanja niti.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Pokušaj promene demonstva nakon pokretanja baciće &#039;&#039;IllegalStateException&#039;&#039;.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Demonske niti će nastaviti izvršavanje nakon završetka svih ostalih niti.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Demonstvo se može menjati samo pre pokretanja niti.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 7. zadatak ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
interface Calc {&lt;br /&gt;
    int f(int x);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public class Test {&lt;br /&gt;
    public static void main(String[] args) {&lt;br /&gt;
        Test test = new Test();&lt;br /&gt;
        ###&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Šta treba da stoji umesto &amp;lt;code&amp;gt;###&amp;lt;/code&amp;gt; da bi program korektno završio?&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Calc c = (a) -&amp;gt; a * a;&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Calc c = a -&amp;gt; a * a;&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Calc c = a -&amp;gt; { a*a; }&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Calc c = b -&amp;gt; b * b;&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Calc c = (int a) -&amp;gt; a * a;&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 8. zadatak ===&lt;br /&gt;
Koje su tvrdnje tačne za podrazumevani ugrađeni konstruktor:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Ukoliko nije definisan nijedan drugi konstruktor, prevodilac ga automatski obezbeđuje.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Podrazumevano će samo pozvati podrazumevani konstruktor natklase.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Neće pozvati podrazumevani konstruktor natklase samo u slučaju da je klasa direktno izvedena iz klase Object.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Ukoliko je klasa javna, i on je podrazumevano javan.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &#039;&#039;??? svakako nešto netačno&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 9. zadatak ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class Spoljna {&lt;br /&gt;
    int x = 1;&lt;br /&gt;
    class Unutrasnja {&lt;br /&gt;
        int x = 2;&lt;br /&gt;
        void m(int x) {&lt;br /&gt;
            System.out.print(###);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    public static void main(String[] args) {&lt;br /&gt;
        new Spoljna().new Unutrasnja().m(3);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Šta može sve stajati umesto &amp;lt;code&amp;gt;###&amp;lt;/code&amp;gt; da bi program korektno završio i ispisao 1?&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;this.x&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;x&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Spoljna.this.x&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Outer.x&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;super.x&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 10. zadatak ===&lt;br /&gt;
Navesti tačne tvrdnje za izuzetke:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# Svi izuzeci u Javi moraju biti izvedeni iz klase Exception.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Svi provereni izuzeci koji se bacaju iz metoda moraju se navesti u njegovoj throws klauzuli.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Prevodilac može da proveri tipove izuzetaka navedenih u throws klauzuli.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Metod može baciti izuzetak isključivo eksplicitnim navođenjem uz throw.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Napomene ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:ОО2]]&lt;/div&gt;</summary>
		<author><name>Petar Smolovic</name></author>
	</entry>
</feed>