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 pakietzbiór klas
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.92.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ę.