Przejdź do treści głównej
INF.04Pytanie #315 z 856interfejsy-i-klasy-abstrakcyjne

Wskaż prawidłową definicję interfejsu (szablonu klasy) w języki Java

Opcje odpowiedzi:
A
Definicja 1
B
Definicja 2
C
Definicja 3
D
Definicja 4
Prawidłowa
Reklama

Wyjaśnienie i uzasadnienie dydaktyczne

Poprawna odpowiedź: D (Definicja 4)

Uzasadnienie i szersze wyjaśnienie:

W języku Java, interfejs to typ referencyjny, który może zawierać wyłącznie stałe, metody domyślne, metody statyczne oraz metody abstrakcyjne. Tradycyjnie, do wersji Java 7, interfejsy mogły zawierać tylko stałe i metody abstrakcyjne. Kluczowe zasady dotyczące metod w interfejsach (przed Java 8) to:

  • Wszystkie metody są domyślnie publiczne i abstrakcyjne. Oznacza to, że nie trzeba (i nie można było) pisać słów kluczowych public i abstract.
  • Metody w interfejsie nie mogą mieć implementacji (ciała). Deklaracja metody musi kończyć się średnikiem.
  • Interfejsy nie mogą zawierać pól instancji (zmiennych). Mogą zawierać tylko stałe (domyślnie public static final).
  • Interfejsy nie mogą mieć konstruktorów.

Przeanalizujmy podane definicje:

  • Definicja 4: Zawiera dwie deklaracje metod (mth1, mth2) bez ciał, zakończone średnikami. Jest to prawidłowa definicja interfejsu w Javie.

Dlaczego pozostałe odpowiedzi są nieprawidłowe?

  • Definicja 1: Zawiera prywatne pole (private int a) oraz konstruktor (IMyInterface()), co jest niedozwolone w interfejsach.
  • Definicja 2: Zawiera prywatne pole oraz metodę z implementacją (int mth2() { ... }), co jest niedozwolone (chyba że byłaby to metoda default lub static w Javie 8+, ale składnia tu na to nie wskazuje).
  • Definicja 3: Zawiera metodę z implementacją (int mth2() { ... }), co jest niedozwolone w klasycznym ujęciu interfejsu.

Chcesz poćwiczyć całą kwalifikację INF.04?

Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.

Rozwiąż w Quizie

Pojęcia z tego pytania

Cały słownik INF04
Reklama

Podobne pytania z działu „Interfejsy i klasy abstrakcyjne”

Ten sam obszar materiału z kwalifikacji INF.04. W całej bazie znajdziesz 17 pytań z tego działu.