Przejdź do treści głównej
INF.04Pytanie #565 z 856enkapsulacja-i-modyfikatory-dostepu

W pakiecie zdefiniowano jedynie klasy Samochod i Ciezarowka. Dla przedstawionego kodu Java, aby pole przebieg mogło być zastosowane w metodzie WypiszDane (w klasie pochodnej), ale nie było dostępne poza metodami klas Samochod i Ciezarowka, w miejscu znaków zapytania należy zastosować kwalifikator dostępu:

java
class Samochod {
??? int przebieg = 100000;
}

class Ciezarowka extends Samochod {
    public void WypiszDane() {
        System.out.println("Przebieg samochodu: " + przebieg);
    }
}
Opcje odpowiedzi:
A
protected
Prawidłowa
B
public
C
private
D
final
Reklama

Wyjaśnienie i uzasadnienie dydaktyczne

Poprawna odpowiedź to A. Modyfikator protected sprawia, że składowa klasy jest widoczna w tej samej klasie, w klasach dziedziczących (nawet w innych pakietach) oraz w klasach z tego samego pakietu. Spełnia to wymóg dostępności w Ciezarowka (klasa pochodna) i ukrycia przed światem zewnętrznym (poza pakietem/dziedziczeniem).

Wyjaśnienie pozostałych opcji:

  • B (public): Pole byłoby dostępne dla każdej klasy w projekcie, co narusza warunek „nie było dostępne poza...”.
  • C (private): Pole byłoby dostępne tylko w klasie Samochod. Klasa Ciezarowka nie miałaby do niego dostępu, co spowodowałoby błąd kompilacji w metodzie WypiszDane.
  • D (final): To nie jest modyfikator dostępu, lecz modyfikator uniemożliwiający zmianę wartości zmiennej po inicjalizacji.

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 „Enkapsulacja i modyfikatory dostepu”

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