Programowanie JAVA Flashcards

1
Q

Programowanie w JAVA

Omów pojęcie pakietu w kontekście języka Java.

A

W języku Java pakiet to przestrzeń nazw, która organizuje zestaw powiązanych klas i interfejsów. Fizycznie pakiet odpowiada katalogowi w systemie plików, a hierarchiczna struktura pakietów jest odwzorowaniem struktury katalogów. Służy do grupowania klas w logiczne całości, co pomaga unikać konfliktów nazw i zwiększa reużywalność kodu. Pakiety pomagają także w zarządzaniu dostępem do klas i członków klas (pola, metody), zapewniając mechanizm kontroli dostępu (widoczność tylko w ramach tego samego pakietu).

Przykład deklaracji pakietu w Java:
package com.example.myapp;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Programowanie w JAVA

Wymień i porównaj uprawnienia dostępu do składowych klasy w języku Java i języku C#?

A

W języku Java mamy cztery poziomy dostępu:
* public: Członek klasy dostępny z każdej innej klasy.
* protected: Członek klasy dostępny w ramach tego samego pakietu i w klasach dziedziczących w różnych pakietach.
* brak modyfikatora, “package-private”: Członek klasy dostępny tylko w ramach tego samego pakietu.
* private: Członek klasy dostępny tylko w ramach tej samej klasy.

W języku C# uprawnienia dostępu są podobne, ale używamy nieco innych terminów:
* public: Jak w Javie, członek klasy dostępny z każdego miejsca.
* protected: Członek klasy dostępny tylko wewnątrz klasy i w klasach pochodnych.
* internal: Członek klasy dostępny z każdego miejsca w tym samym zestawie (assembly).
* protected internal: Członek klasy dostępny w ramach tego samego zestawu i w klasach pochodnych, nawet jeśli są w innym zestawie.
* private: Członek klasy dostępny tylko w ramach tej samej klasy.
* private protected: Członek klasy dostępny tylko wewnątrz klasy i w klasach pochodnych w tym samym zestawie.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Programowanie w JAVA

Wymień conajmniej 6 najbardziej przydatnych Twoim zdaniem operacji (funkcji, metod) przetwarzających lub działających na łańcuchach znakowych (np. obiektach klasy String) w technologii Java?

A

Operacje na obiektach klasy String w Java, które uznaję za szczególnie przydatne, to:

  • length(): Zwraca długość łańcucha znaków.
  • charAt(int index): Zwraca znak znajdujący się na określonej pozycji.
  • substring(int beginIndex, int endIndex): Zwraca podciąg łańcucha znaków.
  • equals(Object anObject): Porównuje dwa łańcuchy znaków pod kątem równości.
  • indexOf(String str): Zwraca indeks pierwszego wystąpienia podanego substringa.
  • toLowerCase(): Konwertuje wszystkie znaki łańcucha na małe litery.
  • toUpperCase(): Konwertuje wszystkie znaki łańcucha na wielkie litery.
  • trim(): Usuwa białe znaki z początku i końca łańcucha znaków.
  • replace(char oldChar, char newChar): Zastępuje wszystkie wystąpienia danego znaku innym znakiem.
  • split(String regex): Dzieli łańcuch znaków na tablicę według dopasowań do wyrażenia regularnego.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Programowanie w JAVA

Wyjaśnij pojęcie i omów zastosowanie interfejsu w kontekście języka Java.

A

W Java, interfejs definiuje zestaw metod abstrakcyjnych (bez ciała), które mogą zostać zaimplementowane przez klasy.
Interfejsy służą do określania formy, jaką powinny przybrać klasy, które je implementują. Dzięki interfejsom możliwe jest osiągnięcie polimorfizmu i oddzielenie specyfikacji od implementacji.
Klasy mogą implementować wiele interfejsów, co pozwala na większą elastyczność i reużywalność kodu w porównaniu do dziedziczenia.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Programowanie w JAVA

Wyjaśnij pojęcia klasa zagnieżdżona, klasa wewnętrzna, anonimowa klasa wewnętrzna w kontekście języka Java.

A

W Java, posiadamy różne typy klas wewnętrznych:

  • Klasa zagnieżdżona (nested class): Klasa zdefiniowana wewnątrz innej klasy. Może być statyczna (static) i nie wymaga instancji klasy zewnętrznej.
  • Klasa wewnętrzna (inner class): Klasa zdefiniowana wewnątrz innej klasy, która nie jest statyczna i może dostępować do wszystkich członków (również prywatnych) klasy zewnętrznej.
  • Anonimowa klasa wewnętrzna: Klasa, która nie ma nazwy i jest zwykle używana do błyskawicznego rozszerzenia istniejącej klasy lub implementacji interfejsu na potrzeby jednorazowego użycia, często jako argumenty metod lub w obsłudze zdarzeń.

Klasy te są używane do różnych celów, takich jak zwiększanie enkapsulacji, projektowanie bardziej zwięzłego i czytelnego kodu oraz obsługa bardziej złożonych relacji między klasami bez konieczności utworzenia niepotrzebnych klas na zewnątrz.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly