Java #44: klasy zagnieżdżone (nested classes)

java inner static classes

Ostatnim tematem na poziomie średnio-zaawansowanym, o którym opowiem, są klasy zagnieżdżone. Wiem, że brzmi to dość enigmatycznie, ponieważ, dotąd pokazywałem jedynie kod zawarty tylko w jednej klasie. Jednak język Java daje dużo większe możliwości, niż na pierwszy rzut oka, można by się spodziewać. Klasy wewnętrzne można po prostu zdefiniować jako klasy w innej klasie. Klasy … Dowiedz się więcej

Java #43: JAXB – czytanie plików xml

java reading xml

JAXB (ang. Java Architecture for XML Binding) to wbudowana biblioteka Javy, która umożliwia łatwe przetwarzanie niewielkich plików xml. Dla osób, które nie miały dotąd do czynienia, z tymi typami plików, tłumaczę, że pliki xml oparte są o strukturę drzewiastą. Dane zawarte są w odpowiednich tagach (np. <root>rodzic</root>). Jeśli informacje przechowywane w nich zależne są od … Dowiedz się więcej

Java #42: pakiet NIO (new input-output)

java new input output

Oprócz używania standardowych strumieni wyjścia i wejścia, w Javie został zaimplementowany specjalny pakiet NIO (ang. new input-output), który również odpowiada za pracę z sygnałami przychodzącymi i wychodzącymi z Twojego programu. Specyfiką tego rozwiązania jest jednak to, że nie korzysta on ze strumieni, tylko z tzw. buforów i kanałów (ang. channel)*. Uproszczone wczytywanie Pierwszą metodę, którą … Dowiedz się więcej

Java #41: Strumienie znakowe

java bufferreader bufferwriter

Ten wpis będzie bardzo podobny do poprzedniego, także jeśli jeszcze tego nie zrobiłeś/aś, przeczytaj wpierw lekcję o strumieniach danych. Tym razem zamiast korzystać z strumieni wejścia i wyjścia, użyję jednej z wielu klas typu Reader i Writer. Strumienie znakowe działają bardzo podobnie jak klasy strumieni, jednak są bardziej przystosowane do pracy z plikami tekstowymi. Wybrane … Dowiedz się więcej

Java #40: strumienie wejścia/wyjścia

Java inputstream outputstream

Wiesz już dużo o programowaniu, ale Twój program nie ma zbyt wielkiego sensu, jeśli dane wejściowego i wyjściowe za każdym razem będziesz musiał na stałe ustawiać w swoim programie. W tej lekcji nauczysz się wykorzystywać strumienie wejścia lub wejścia, które możesz zastosować np. do pracy na plikach. Klasy w standardzie Javy, które odpowiadają za obsługę … Dowiedz się więcej

Java #39: logowanie aplikacji

java utils logger

Termin logowanie aplikacji pewnie kojarzy Ci się z logowaniem się przez jakieś okienko do aplikacji. Tymczasem możesz też logować jakieś dane podczas pisania swojego kodu. Po co wykonywać taką czynność? Podczas tego kursu wielokrotnie używałem metody println do wyświetlania zawartości zmiennych, co na pewno bardzo ułatwiło Ci zrozumienie napisanego przeze mnie kodu. Teraz wyobraź sobie, … Dowiedz się więcej

Java #38: testy jednostkowe

java junit

Znasz już paradygmaty programowania obiektowego, umiesz korzystać z kolekcji oraz obsługiwać wyjątki. Tym razem postaram się wytłumaczyć Ci, jak używać testy jednostkowe do sprawdzenia swojego kodu. Zanim przejdę do omawiania konkretnej implementacji, przypomnij sobie w jaki sposób testowałem swój kod we wszystkich poprzednich wpisach. Tak, słusznie zauważyłeś/aś, że odbywało się to przez użycie metody main. … Dowiedz się więcej

Java #37: wyjątki i ich obsługa

java exceptions

Zanim zacznę omawiać, czym są wyjątki (ang. exceptions), postaraj się przetestować poniższy kod: Wynik na konsoli powinien być podobny do poniższego: Co to oznacza? Ponieważ użyłem zmiennej, do którego nie przypisałem wcześniej żadnej referencji (brak inicjalizacji), to wyświetlił mi się komunikat na konsoli, oznaczający, że zaszedł Nullpointer Exception. Widziałeś już na pewno takie informacje nie … Dowiedz się więcej