19
1.4 Правила именования и лексика языка
Понятие имени:
Имена задаются посредством идентификаторов, указывают на компоненты
программы. Имена бывают простые и составные. Пространства имен подразделяется
на:
–
пакеты
–
типы
–
поля
–
методы
–
локальные переменные и параметры
–
метки
Понятие модуля компиляции:
Модуль компиляции хранится в
.java
файле и является единичной порцией
входных данных для компилятора. Состоит из:
-
объявления пакета;
package mypackage;
-
выражений импортирования;
import java.net.Socket;
import java.io.*;
-
объявлений верхнего уровня – классов и интерфейсов.
Объявление пакета:
-
первое выражение в
модуле компиляции (например,
для файла
java/lang/Object.java);
-
package java.lang;
20
-
при отсутствии объявления пакета модуль компиляции принадлежит
безымянному пакету (не имеет вложенных пакетов);
-
пакет доступен, если доступен модуль компиляции с объявлением пакета;
-
ограничение на доступ к пакетам нет.
Выражения импорта:
-
доступ к типу из данного пакета – по простому имени типа;
-
доступ к типу из других пакетов – по составному имени пакета и имени
типа:
1.
import-выражения упрощают доступ:
2.
импорт одного типа (
import java.net.URL;
)
3.
импорт пакета с типами (
import java.net.*;
)
–
попытка импорта пакета, недоступного на момент компиляции, вызовет
ошибку;
–
дублирование импорта игнорируется;
–
нельзя импортировать вложенный пакет;
–
при импорте типов пакета вложенные пакеты не импортируются;
Алгоритм работы компилятора при анализе типов:
1.
выражения, импортирующие типы;
2.
другие объявленные типы;
3.
выражения, импортирующие пакеты.
Если тип импортирован явно невозможны:
1.
объявление нового типа с таким же именем;
2.
доступ по простому имени к одноименному типу в текущем пакете.
Импорт пакета не мешает объявлять новые типы или обращаться к имеющимся
типам текущего пакета по простые имена. Импорт конкретных типов дает
возможность при прочтении кода сразу понять, какие внешние типы используются.
Объявление верхнего уровня:
Объявление в языке Java
производится следующим образом, показанном на
22
–
Поля-константы:
PI, SIZE_MIN, SIZE_MAX, SIZE_DEF
–
Локальные переменные.
Пример программы на Java представлен на рисунке 1.6.
Рисунок 1.6 – Пример программы на языке Java
Лексика языка Java состоит из следующих элементов:
–
Структура исходного кода и его элементы.
–
Типы данных.
–
Описание классов:
1.
Общая структура,
2.
Поля,
3.
Методы,
4.
Конструкторы,
5.
Блоки инициализации.
–
Точка входа программы.
Кодировка
–
Java ориентирован на Unicode;
–
первые 128 символов почти идентичны набору ASCII;
–
символы Unicode задаются с помощью
escape-последовательностей
\
u262f, \uu2042, \uuu203d;
–
Java чувствителен к регистру.