Klasy osłonowe (ang. wrapper class) pojawiły się w szkoleniu już wcześniej. W ostatnim wpisie dotyczącym klasy Object
okazało się, że gdy utworzymy uniwersalny kontener w postaci tablicy typu Object
mimo wpisania wartości 1 (typ prosty int) program pokazał, że element jest obiektem klasy Integer
.
Jak wspominaliśmy wcześniej w naszym szkoleniu klasa Object
jest korzeniem drzewie hierarchii dziedziczenia. Dlatego do dyspozycji zawsze są wszystkie pochodzące z niej metody.
Poprzedni wpis tworzenie własnych klas wyjątków.
Mogłoby się wydawać, że jest to najrozsądniejsze wyjście, gdyż Exception
jako nadklasa wyłapie wszystkie możliwe sytuacje, które mogą się wydarzyć i nic nas nie zaskoczy. Ta pozorna wygoda może nas jednak wiele kosztować. Przy ustalaniu błędu dobrze mieć pewność, która metoda i dlaczego rzuciła wyjątek.
Poprzedni wpis dotyczył przechwytywania oraz rzucania wyjątków.
Czasami mimo bogatego zbioru klas wyjątków w bibliotece standardowej Javy nie znajdziemy tego potrzebnego i jedynym wyjściem, aby nie rzucić zbyt ogólnym wyjątkiem jest utworzenie własnej klasy. Technicznie rzecz biorąc jest to bardzo proste – wystarczy utworzyć klasę, która dziedziczy po dowolnej klasie z drzewa Exception.