ОО2/К1 2024

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу

К1 2024. године одржан је 22. марта и трајао је 20мин.

  • За питања са више одговора, тачни одговори су подебљани и уоквирени
  • За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
  • Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:

1. задатак

Шта је све тачно за програмски језик Јава?

  1. Интерпретирање бајтокода је слабијих перформанси од извршавања машинског кода.
  2. Јава виртуелна машина представља интерпретер за бајткод.
  3. Превођењем изворног кода добије се интерпретативни бајткод.
  4. Имплементација Јавине виртуелне машине је независна од платформе.
  5. Бајткод зависи од платформе на којој се врши превођење изворног кода.

2. задатак

Које од наведених имплицитних конверзија су дозвољене у програмском језику Јава?

  1. Конверзија података типа бyте у тип инт
  2. Конверзија података типа инт у тип лонг
  3. Конверзија података типа инт у тип схорт
  4. Конверзија података типа флоат у тип доубле
  5. Конверзија података типа доубле у тип флоат

3. задатак

Шта исписује следећи програм на програмском језику Јава?

public class Main {
    private static void f(Object a, Integer b, int c) {
        a = 0;
        b = b + 1;
        c = c - 1;
    }
    public static void main(String[] args) {
        Integer a = 1, b = 1, c = 1;
        f(a, b, c);
        System.out.println(a + "," + b + "," + c);
    }
}

Одговор: 1,1,1

Објашњење: У Јави се аргументи, укључујући референце преносе по вредности. Тако да су у методи ф копије референци на а и б добиле нове вредности, али не и саме референце а и б

4. задатак

Шта све могу да садрже класе на програмском језику Јава?

  1. Дескрукторе
  2. Преклопљене операторске функције
  3. Дефиниције интерфејса
  4. Иницијализационе блокове
  5. Дефиниције класних типова

5. задатак

Шта све може да стоји уместо ### да би се следећи код успешно писан на језику Јава успешно превео?

class B {
    B b1;
    static B b2;
    public static void s() {}
    public void m() {}
    public static void test() {
        ###
    }
}
  1. Објецт о = б2
  2. м()
  3. Б.с()
  4. Објецт о = б1
  5. б1.м()

6. задатак

Написати наредбу на језику Јава којом се увозе сви типови из пакета пакет Одговор: импорт пакет.*;

7. задатак

Које од следећих тврдњи су тачне за пакете на програмском језику Јава?

  1. Класе у пакету могу да имају само приватно или јавно право приступа.
  2. Типови декларисани у изворној датотеци без декларације пакета биће смештени у безимени пакет.
  3. Декларација пакета пацкаге а.б; може да постоји чак и ако ни у једном фајлу са изворним кодом програма не постоји декларација пакета пацкаге а;.
  4. Пакет јава.утил се увози имплицитно.
  5. Подразумевано право приступа методима је пакетско, а пољима класа приватно.

8. задатак

Шта исписује следећи програм на програмском језику Јава?Уписати НП уколико се програм не преводи.

package test;
class B {
    public void m(D x) {
        System.out.print(1);
    }
}
class D extends B {
    public void m(D x) {
        System.out.print(2);
    }
}
public class Test {
    public static void main(String[] args) {
        B b = new B();
        b.m(new D());
        b = new D();
        b.m(new D());
    }
}

Одговор: 12

Објашњење: Код позива метода се гледа тип објекта, не тип референце

9. задатак

Шта исписује следећи програм на програмском језику Јава?Уписати НП уколико се програм не преводи.

package p;
public class A {
    protected int pi;
}
package q;
import p.A;
public class B extends A {
    public void m() {
        ###
    }
}
package q;
public class C extends A {}
  1. Б б = неw Б(); б.пи = 1;
  2. пи = 1
  3. супер.пи = 1
  4. C ц = неw C(); ц.пи = 1;
  5. А а = неw А(); а.пи = 1;

Објашњење: Права приступа за референце на објекте који нису тхис је иста за све класе

5. задатак

Да би класа X безусловно подржала клонирање и обезбедила да и изведене класе из ње морају да подрже клонирање, поред тога што треба да имплементира интерфејс Цлонеабле, потребно је и да надјача метод цлоне на начин:

  1. протецтед X цлоне () {...}
  2. публиц X цлоне() {...}
  3. протецтед X цлоне () тхроwс ЦлонеНотСуппортедЕxцептион {...}
  4. публиц X цлоне () тхроwс ЦлонеНотСуппортедЕxцептион {...}