Wprowadzenie
Obiekt i obiektowość
Interfejs
Dziedziczenie
Polimorfizm
Własności języka Java
Klasa, pola, metody
Słowo kluczowe static
Komentowanie kodu
Operatory w Javie
Operatory, Inicjalizacja, proste I/O
Operator ?:,
Operator +dla napisów
Przepływ sterowania w programie
instrukcje sterujące, if-then-else, while, for, foreach, break, continue
Inicjalizacja obiektu, konstruktor, przeciążanie konstruktora i innych funkcji
Garbage collector
Tablice, metody o zmiennej ilości parametrów
Proste I/O
Kontrola dostępu, Klasy, Polimorfizm
Pakiet
Biblioteka jar
Modyfikatory dostępu w Javie
Wielokrotne wykorzystanie klas
Inicjalizacja klasy bazowej
Kompozycja i dziedziczenie
Słowo kluczowe final
Rzutowanie w górę (upcasting)
Interfejsy, klasy abstrakcyjne, klasy wewnętrzne i zagnieżdżone
Polimorfizm
Klasy abstrakcyjne
Interfejsy, pola w interfejsach
Klasy abstrakcyjne
Klasy wewnętrzne (ang. inner classes)
Lokalne klasy wewnętrzne
Anonimowe klasy wewnętrzne
Wzorzec Factory Method i klasy anonimowe
Klasy zagnieżdżone
Obsługa błędów w Javie, proste RTTI
Obsługa błędów w Javie
zgłaszanie wyjątków
hierarchia wyjątków
wyjątki z parametrami
rejestrowanie (logowanie) wyjątków
specyfikacja wyjątków
sekwencje wyjątków, ponowne zgłaszanie wyjątków, wyjątki w konstruktorze
klauzula finally, zagubienie wyjątku
Proste RTTI
Typy Kontenerowe w Javie, RTTI
RTTI (cd..)
Kolekcje obiektów
taksonomia, wypisywanie kontenerów
List, ArrayList, LinkedList
Stack, Set, HashSet, TreeSet
Map, HashMap, Queue, PriorityQueue
Iterowanie po kolekcjach
Napisy i Wyrażenia Regularne w Javie
Operacje wejścia/wyjścia
Współbieżność cz. 1
Współbieżność – pojęcia
Interfejs Runnable – zadania (ang. tasks), pule wątków
Egzekutory – mechanizm uruchamiania zadań
Zadania z możliwością zwracania wyników przetwarzania
Priorytet wątku, operacje na wątku
Wątki demonów, łączenie wątków, zadania jako klasy wewnętrzne
Obsługa wyjątków w wątkach
Współdzielenie zasobów i synchronizacja za pomocą:
Współbieżność cz. 2
Klasy/operacje atomowe
Synchronizacja i pamięć wątku
Stany w jakich może znajdować się wątek
Przerwanie wątku – metoda interrupt()
Sytuacje, w których wątek nie może być przerwany metodą interrupt() i jak sobie z nimi radzić
Status przerwania wątku
Synchronizacja: wait(), notifyAll(), await(), signalAll()
Zakleszczenia, kolejki blokujące
Komunikacja między wątkami poprzez potoki
Współbieżność cz. 3, Programowanie Sieciowe
Współbieżność
Programowanie sieciowe
warstwy modelu ISO/OSI
protokoły: TCP/UDP/IP, pojęcia: Adres IP, Porty, Gnizada
-
-
Gniazdo klienckie – nawiązywanie połączenia
Gniazdo serwerowe – przykład prostego serwera
Podstawy biblioteki Swing
-
Przycisk
Model zdarzeń w bibliotece Swing
Obszary tekstowe
Layouty: BorderLayout, FlowLayout, GridLayout itd.
Zdarzenia
Różne rodzaje przycisków, grupy przycisków
Ikony, Ramki, Listy rozwijane
Edytowalny panel
Zakładki, Okienka Wiadomości
Menu, Okno Dialogowe Pliku
Java 2 Micro Edition
J2ME – wprowadzenie
Instalacja środowiska
Cykl życia MIDlet'ów
Instalacja aplikacji na użądzeniu mobilnym
Interfejs użytkownika
Formularz i elementy formularza
Obsługa zdarzeń
Przykład w pełni funkcjonalnego programu
Wykład podsumowywujący