ОО2/К2 2021
< ОО2
Пређи на навигацију
Пређи на претрагу
- За питања са више одговора, тачни одговори су подебљани и уоквирени.
- За питања за које се одговори уносе, тачни одговори су подвучени и сакривени: овако.
- Притисните на следеће дугме како бисте их сакрили или открили:
Г1
1. задатак
2. задатак
3. задатак
4. задатак
5. задатак
6. задатак
7. задатак
8. задатак
9. задатак
10. задатак
Г2
1. задатак
Означити тачна тврђења на програмском језику Јава:
- Експлицитни или имплицитни позив конструктора надкласе се може избећи ако се у конструктору изведене класе позове неки други конструктор те исте класе.
- Ако се користи, позив другог конструктора исте класе мора бити прва наредба у конструктору.
- Конструкција објекта се може делегирати позивом једног конструктора из другог конструктора.
- Рекурзију у делегирању конструктора детектује преводилац.
- Дозвољено је у конструктору прво позвати конструктор надкласе а затим делегирати конструкцију неком другом конструктору.
2. задатак
Означити тачна тврђења на програмском језику Јава:
- Референца на неки интерфејс може показивати на литерал нулл.
- Сви интерфејси су изведени из класе Интерфаце у пакету јава.ланг.
- Референци на неки интерфејс може се доделити објекат било које класе која проширује[1] тај интерфејс.
- Референци на интерфејс се може доделити објекат који се добије када се са друге стране алокатора
newнађе назив тог интерфејса. - Референца на неки интерфејс се може доделити референци типа Објецт.
3. задатак
Шта исписује следећи код на програмском језику Јава? Уколико се програм не компајлира, уписати 0.
interface A { default void m() { System.out.println("A.m()"); } }
class C { public void m() { System.out.println("C.m()"); } }
public class Test extends C implements A {
public static void main(String[] arguments) {
Test t = new Test();
t.m();
}
}
Одговор: C.м
4. задатак
Анонимна класа на програмском језику Јава може садржати:
- конструктор
- нестатичке методе
- статичке методе
- нестатичка поља
- статичка поља
5. задатак
Шта се може написати уместо ### како би се следећи код на програмском језику Јава преводио исправно?
interface Calc {
int m(int a, int b);
}
public class Test {
public static void main(String[] arguments) {
###
}
}
Цалц ц = (инт а, инт б) -> а + б;Цалц ц = (инт а, инт б) -> { а + б };Цалц ц = (инт а, инт б) -> { инт р = а + б; ретурн р; };Цалц ц = (инт а, инт б) -> ретурн а + б;Цалц ц = (инт а, инт б) -> { ретурн а + б; };
6. задатак
Шта се може написати уместо $$$ како би се следећи код на програмском језику Јава исправно извршавао и исписивао 2?
class Spoljna {
int x = 1;
class Unutrasnja {
int x = 2;
public void m(int x) {
System.out.println($$$);
}
}
}
public class Main {
public static void main(String[] arguments) {
new Spoljna().new Unutrasnja().m(3);
}
}
xтхис.xсупер.xСпољна.тхис.xСпољна.x
7. задатак
Означити тачна тврђења на програмском језику Јава:
- финаллy блок може да постоји без цатцх блока.
- финаллy блок се извршава само уколико се у цатцх блоку баци изузетак.
- финаллy блок се извршава само уколико се у цатцх блоку не баци изузетак.
- финаллy блок се извршава без обзира на то да ли је у цатцх блоку бачен изузетак.
- финаллy блок се извршава иако не дође до грешке.
8. задатак
Означити тачна тврђења на програмском језику Јава:
- Метода старт поново покреће нит уколико је завршена.
- Поновни позив старт након завршетка нити је грешка.
- Позив методе старт ставља нит над којом је позвана у ред спремних нити.
- Нит која позива старт се блокира.
- Нит која позива старт се не блокира.
9. задатак
Означити тачна тврђења на програмском језику Јава:
- Позив интеррупт над блокираном нити изазива изузетак ИнтерруптедЕxцептион.
- Позив интеррупт над блокираном нити изазива изузетак ТхреадДеатх.
- Позив интеррупт над блокираном нити је деблокира.
- ...
- Позив интеррупт над блокираном нити не поставља интерруптед статус.
10. задатак
Шта је тачно за следећи код на програмском језику Јава?
public class Test {
public static void main(String[] arguments) {
Thread t1 = new Thread(() -> { while (true); });
t1.setDaemon(true);
t1.start();
}
}
- Референца т1 показује на демонску нит.
- Јава виртуелна машина (ЈВМ) завршава свој рад након завршетка главне функције.
- Линија са сетДаемон у коду не мења демонски статус нити на коју показује т1.
- Након извршења главне функције се не излази из програма јер има још корисничких нити за извршавање.
- Референца т1 не показује на демонску нит.
Г3
1. задатак
2. задатак
3. задатак
4. задатак
5. задатак
6. задатак
7. задатак
8. задатак
9. задатак
10. задатак
Напомене
- ↑ Ово није била навлакуша, већ је требало да пише "имплементира".