2 Ogólna charakterystyka języka Java

2.1 Wprowadzenie

Opisując język Java nie można dokładnie oddzielić pojęć dotyczących jego realizacji od pojęć charakteryzujących semantykę konstrukcji składniowych języka. Dzieje się tak w przypadku pojęcia pakiet w Javie, którego semantyka odwołuje się do takich terminów, jak zbiór klas umieszczonych w określonych plikach i katalogach pewnego systemu operacyjnego. Pojęcie pliku i katalogu tradycyjnie traktowane jest jako zewnętrzne w stosunku do pojęć języka programowania - tutaj jednak wprowadzono je na poziom języka, uzyskując co najmniej dwa ważne cele: niezależność programów od środowiska operacyjnego i ułatwienie pisania programów "rozproszonych" (np. w sieci Internet).

Mimo wystąpienia pewnych trudności, staraliśmy się w tym rozdziale zamieścić jedynie te informacje, które abstrahują od kwestii realizacyjnych języka. Opisowi realizacji poświęcono osobny rozdział pracy.

Efektem analizy semantycznej języka jest wydzielenie pewnych części, stanowiących zamkniętą całość i opisanie ich w oddzielnych punktach. I tak:

Dodatkowo, w punktach 2.9 i 2.10 opisano podprogramy (służące do łączenia kodu Javy z kodem napisanym w innych językach programowania) oraz komentarze dokumentujące, umożliwiające generowanie dokumentacji kodu programu w języku HTML.

Na koniec, przedstawimy uwagi dotyczące sposobu redagowania tekstu rozdziału.

Pojęcia wprowadzane pierwszy raz przedstawiono z użyciem czcionki pogrubionej. Dla kodu Javy użyto czcionki Courier New. Standardowe elementy języka opisywane w tekście oznaczono kursywą.

Uwaga:

Zakłada się, że Czytelnik zna podstawy programowania w językach C/C++ i w pracy pominięto dokładny opis np. operatorów, a przedstawiono raczej różnice występujące w Javie w stosunku do języka C++.

Na podstawie przykładu omówimy przyjęty w pracy sposób przedstawiania reguł składniowych:

[modyfikatory] class NazwaKlasy [extends NazwaNadklasy] 
[implements NazwyInterfejsów]

terminali, będących stałymi leksykalnymi nie wyróżnia się w tekście w specjalny sposób, terminale reprezentujące zmienne leksykalne oznaczono czcionką pogrubioną, nieterminale zapisujemy czcionką pochyloną i pogrubioną. Elementy opcjonalne ujmuje się w nawiasy '[' i ']'.

Termin program Javy oznacza zarówno do aplet jak i aplikację.