Egzamin Java: Test Wyboru (41 Pytań)

🔥 Polimorfizm i Enkapsulacja (Pewniaki)

1. Jakie pojęcie określa jeden przedmiot, wiele kształtów?
Abstrakcja
Polimorfizm
Enkapsulacja
Dziedziczenie
2. Polimorfizm statyczny pozwala na?
Nadpisywanie metod (overriding)
Dynamiczne wiązanie typów
Przeładowanie metod (overloading)
Tworzenie klas anonimowych
3. Czym różni się polimorfizm statyczny od dynamicznego?
Statyczny jest rozstrzygany w czasie kompilacji, a dynamiczny w czasie wykonywania.
Statyczny dotyczy tylko klas, a dynamiczny tylko interfejsów.
Dynamiczny jest rozstrzygany przez kompilator javac.
Nie ma żadnej różnicy w działaniu.
4. Kiedy określana jest wykonywana metoda w polimorfizmie czasu przebiegu?
W momencie pisania kodu źródłowego
Podczas kompilacji do kodu bajtowego
Przy ładowaniu klasy przez ClassLoader
W trakcie działania programu (runtime) na podstawie faktycznego typu obiektu
5. Jakie metody w Javie są wirtualne?
Domyślnie wszystkie metody niestatyczne, które nie są finalne ani prywatne
Tylko metody oznaczone słowem virtual
Wszystkie metody statyczne
Tylpop metody zdefiniowane w interfejsach
6. Jakie metody w Javie nie są wirtualne?
Metody publiczne
Metody chronione (protected)
Metody statyczne, prywatne oraz finalne
Metody abstrakcyjne
7. Od czego zależy przeładowanie metod?
Od zwracanego typu metody
Od listy parametrów (ich liczby, typów lub kolejności)
Od nazwy klasy nadrzędnej
Od modyfikatora dostępu
8. Jaki mechanizm pozwala na implementację takich samych nazw dla różnych metod?
Hermetyzacja
Agregacja
Przeładowanie metod (overloading)
Implementacja interfejsu
9. Co jest środkiem do osiągnięcia enkapsulacji w Javie?
Modyfikatory dostępu (private, protected, public)
Słowa kluczowe extends i implements
Zastosowanie pętli for
Użycie tablic obiektów
10. Co jest głównym celem enkapsulacji?
Przyspieszenie działania procesora
Ukrywanie szczegółów implementacji i ochrona spójności danych
Umożliwienie dziedziczenia wielokrotnego
Zmniejszenie rozmiaru plików .class
11. Jaki mechanizm pozwala na łączenie danych i instrukcji we wspólnych obiektach?
Abstrakcja
Enkapsulacja (hermetyzacja)
Polimorfizm dynamiczny
Refleksja
12. Co to są Gettery i Settery?
Konstruktory klas
Słowa kluczowe Javy
Metody dostępowe do bezpiecznego odczytu i zapisu wartości prywatnych pól
Metody służące do usuwania obiektów z pamięci
13. Co zapewniają Gettery i Settery?
Kontrolę nad poprawnością danych i enkapsulację stanu obiektu
Automatyczne dziedziczenie metod
Zwiększenie wydajności JVM
Brak konieczności definiowania pól klasy
14. Jak poprawnie zaimplementować Getter dla class A {private int x;}?
public void getX() { return x; }
public int getX() { return x; }
private int getX() { return x; }
public int getterX(int x) { return this.x; }
15. Jak poprawnie zaimplementować Setter dla class A {private int x;}?
public int setX(int x) { x = x; }
public void setX() { x = 10; }
private void setX(int x) { this.x = x; }
public void setX(int x) { this.x = x; }

🌳 Dziedziczenie i Klasy

16. W jakim celu wykorzystywane jest dziedziczenie?
Do ponownego użycia kodu i tworzenia hierarchii klas
Do ukrywania zmiennych przed innymi klasami
Aby przyspieszyć kompilację programu
Do definiowania stałych wartości w interfejsach
17. Jakiego typu dziedziczenia nie ma w Javie?
Dziedziczenia jednokrotnego
Dziedziczenia wielokrotnego klas
Dziedziczenia wielopoziomowego
Implementowania wielu interfejsów
18. Co wyróżnia klasę abstrakcyjną?
Musi posiadać tylko metody statyczne
Nie można utworzyć jej instancji i może zawierać metody bez implementacji
Zawsze jest finalna
Nie może posiadać konstruktora
19. Czy klasa dziedzicząca musi implementować wszystkie metody abstrakcyjne?
Nie, nigdy nie musi
Tak, zawsze i bez wyjątków
Tak, chyba że sama również jest klasą abstrakcyjną
Tylko jeśli metody są publiczne
20. Co to jest obiekt?
Instancja klasy posiadająca określony stan i zachowanie
Synonim słowa "klasa"
Plik o rozszerzeniu .java
Metoda typu main
21. Co posiada klasa?
Tylko metody
Pola (atrybuty) oraz metody (zachowania)
Tylko kod źródłowy bez danych
Wyłącznie zmienne lokalne
22. Jaka jest poprawna definicja konstruktora klasy A?
public A() { ... } (brak typu zwracanego, nazwa jak klasy)
public void A() { ... }
construct A() { ... }
public static A() { ... }
23. Jaka jest poprawna definicja konstruktora kopiującego klasy A?
public A() { copy(); }
public A(A innyObiekt) { ... }
public static A copy(A source)
public void clone(A obj)
24. Co oznacza słowo kluczowe super?
Tworzenie nowej super-klasy
Zamknięcie programu
Odwołanie do składowych klasy nadrzędnej
Odwołanie do metod statycznych
25. Co oznacza słowo kluczowe this?
Odwołanie do bieżącej instancji obiektu
Odwołanie do poprzedniej klasy
Stworzenie nowego wątku
Dostęp do zmiennych globalnych systemu

🔗 Interfejsy i Klasy Wewnętrzne

26. Do czego służy interfejs?
Do definiowania kontraktu (metod), który klasa musi zrealizować
Do dziedziczenia pól prywatnych
Do przechowywania tylko metod statycznych
Do zastąpienia klasy Object
27. Czy interfejsu można używać jako typu?
Nie, interfejs to tylko wzorzec
Tak, można tworzyć referencje typu interfejsowego
Tylko w klasach abstrakcyjnych
Tak, ale tylko dla typów pierwotnych
28. Jakiego typu są pola danych w interfejsie?
Prywatne i zmienne
Chronione (protected)
Domyślnie public static final (stałe)
Zależą od implementacji klasy
29. Co wyróżnia klasę anonimową?
Brak nazwy; jest definiowana i tworzona w miejscu użycia
Brak możliwości posiadania metod
Zawsze musi być statyczna
Nie może implementować interfejsów
30. Jak odwołać się do atrybutów klasy zewnętrznej z klasy wewnętrznej?
Używając słowa outer
Przez NazwaKlasyZewnetrznej.this.atrybut
Przez super.atrybut
Nie jest to możliwe w Javie

⚙️ Mechanizmy Javy i Składnia

31. Główną cechą Javy jest?
Niska wydajność
Wieloplatformowość (niezależność od architektury)
Brak silnego typowania
Konieczność ręcznego zarządzania pamięcią
32. Środowisko uruchomieniowe Javy to?
JDK (Java Development Kit)
JRE (Java Runtime Environment) zawierające JVM
Tylko kompilator javac
Notatnik z wtyczką Java
33. Co oznacza akronim WORA?
Write Once, Run Anywhere
Windows Only Run Application
Wide Object Runtime Architecture
Web Oriented Realtime Access
34. Co to są pola i metody statyczne?
Elementy, których nie można zmieniać
Składowe należące do klasy, a nie do konkretnego obiektu
Metody widoczne tylko wewnątrz pakietu
Inna nazwa dla metod abstrakcyjnych
35. Jaki jest domyślny modyfikator dostępu w Javie?
public
private
Pakietowy (brak słowa kluczowego) – dostęp w tym samym pakiecie
protected
36. Jaki modyfikator daje dostęp zawsze w klasie, podklasie i pakiecie?
private
protected
final
static
37. Jaką metodą można sprawdzić typ obiektu?
Operator instanceof lub metoda getClass()
Operator ==
Metoda checkType()
Słowo kluczowe typeof
38. Co jest wynikiem kompilacji programów Javy?
Plik wykonywalny .exe
Kod bajtowy (bytecode) w plikach .class
Skrypt w języku Python
Bezpośrednio kod maszynowy procesora
39. Które słowo kluczowe służy do określenia niezmienności elementu?
const
static
final
immutable
40. Jakie rozszerzenie ma plik kodu źródłowego?
.class
.java
.txt
.jar
41. Jakie rozszerzenie ma plik wygenerowany przez javac?
.java
.class
.exe
.obj