Содержание | Предыдущий | Следующий | Индекс Спецификация языка Java
Второй Выпуск


Оглавление

Предисловие
Предисловие к Второму Выпуску

1 Введение

1.1 Примеры программы
1.2 Нотация
1.3 Отношение к Предопределенным Классам и Интерфейсам
1.4 Ссылки

2 Грамматики

2.1 Бесконтекстные грамматики
2.2 Лексическая Грамматика
2.3 Синтаксическая Грамматика
2.4 Нотация грамматики

3 Лексических Структуры

3.1 Unicode
3.2 Лексические Преобразования
3.3 Escape Unicode
3.4 Разделители строки
3.5 Входные Элементы и Маркеры
3.6 Пробел
3.7 Комментарии
3.8 Идентификаторы
3.9 Ключевые слова
3.10 Литерала
3.10.1 Целочисленные Литералы
3.10.2 Литералы с плавающей точкой
3.10.3 Булевы Литералы
3.10.4 Символьные Литералы
3.10.5 Строковые литералы
3.10.6 Escape-последовательности для Символьных и Строковых литералов
3.10.7 Нулевой Литерал
3.11 Разделителя
3.12 Оператора

4 Типа, Значения, и Переменные

4.1 Виды Типов и Значений
4.2 Типы примитивов и Значения
4.2.1 Целочисленные типы и Значения
4.2.2 Целочисленные операции
4.2.3 Типы с плавающей точкой, Форматы, и Значения
4.2.4 Операции с плавающей точкой
4.2.5 Булев Тип и булевы значения
4.3 Ссылочные типы и Значения
4.3.1 Объекты
4.3.2 Объект Класса
4.3.3 Строка Класса
4.3.4 Когда Ссылочные типы Являются Тем же самым
4.4 Где Типы Используются
4.5 Переменные
4.5.1 Переменные Типа примитива
4.5.2 Переменные Ссылочного типа
4.5.3 Виды Переменных
4.5.4 заключительные Переменные
4.5.5 Начальные значения Переменных
4.5.6 Типы, Классы, и Интерфейсы

5 Преобразований и Продвижения

5.1 Виды Преобразования
5.1.1 Преобразования идентификационных данных
5.1.2 Расширение Примитивного Преобразования
5.1.3 Сужение Примитивных Преобразований
5.1.4 Расширение Ссылочных Преобразований
5.1.5 Сужение Ссылочных Преобразований
5.1.6 Преобразования строк
5.1.7 Запрещенный Преобразования
5.1.8 Преобразование Набора значений
5.2 Преобразование присвоения
5.3 Преобразование Вызова метода
5.4 Преобразование строк
5.5 Кастинг Преобразования
5.6 Числовые Продвижения
5.6.1 Унарное Числовое Продвижение
5.6.2 Двоичное Числовое Продвижение

6 Имен

6.1 Объявления
6.2 Имена и Идентификаторы
6.3 Контекст Объявления
6.3.1 Объявления затенения
6.3.2 Затененные Объявления
6.4 Элементы и Наследование
6.4.1 Элементы Пакета
6.4.2 Элементы Типа класса
6.4.3 Элементы Интерфейсного Типа
6.4.4 Элементы Типа Массива
6.5 Определение Значения Имени
6.5.1 Синтаксическая Классификация Имени Согласно Контексту
6.5.2 Переклассификация Контекстуально Неоднозначных Имен
6.5.3 Значение Имен Пакета
6.5.3.1 Простые Имена Пакета
6.5.3.2 Квалифицированные Имена Пакета
6.5.4 Значение PackageOrTypeNames
6.5.4.1 Простой PackageOrTypeNames
6.5.4.2 Квалифицированный PackageOrTypeNames
6.5.5 Значение Имен типов
6.5.5.1 Простые Имена типов
6.5.5.2 Квалифицированные Имена типов
6.5.6 Значение Имен Выражения
6.5.6.1 Простые Имена Выражения
6.5.6.2 Квалифицированные Имена Выражения
6.5.7 Значение Имен методов
6.5.7.1 Простые Имена методов
6.5.7.2 Квалифицированные Имена методов
6.6 Управление доступом
6.6.1 Определение Доступности
6.6.2 Детали о защищенном доступе
6.6.2.1 Доступ к защищенному Элементу
6.6.2.2 Квалифицированный Доступ к защищенному Конструктору
6.6.3 Пример Управления доступом
6.6.4 Пример: Доступ к общедоступным и Непубличным Классам
6.6.5 Пример: Поля доступа по умолчанию, Методы, и Конструкторы
6.6.6 Пример: общедоступные Поля, Методы, и Конструкторы
6.6.7 Пример: защищенные Поля, Методы, и Конструкторы
6.6.8 Пример: частные Поля, Методы, и Конструкторы
6.7 Полностью определенные Имена и Канонические имена
6.8 Соглашения о присвоении имен
6.8.1 Имена пакета
6.8.2 Класс и Интерфейсные Имена типов
6.8.3 Имена методов
6.8.4 Имена полей
6.8.5 Постоянные Имена
6.8.6 Локальная переменная и Названия параметра

7 Пакетов

7.1 Элементы пакета
7.2 Поддержка узла Пакетов
7.2.1 Хранение Пакетов в Файловой системе
7.2.2 Хранение Пакетов в Базе данных
7.3 Единицы компиляции
7.4 Объявления пакета
7.4.1 Названный Пакетами
7.4.2 Неназванные Пакеты
7.4.3 Наблюдательность Пакета
7.4.4 Контекст Объявления Пакета
7.5 Объявления импорта
7.5.1 Объявление единственного импорта типа
7.5.2 Объявление "Импорт типа по требованию "
7.5.3 Автоматический Импорт
7.5.4 Странный Пример
7.6 Высокоуровневые Описания типа
7.7 Уникальные Имена Пакета

8 Классов

8.1 Объявление класса
8.1.1 Модификаторы класса
8.1.1.1 абстрактные классы
8.1.1.2 заключительные Классы
8.1.1.3 Классы strictfp
8.1.2 Внутренние Классы и Экземпляры Включения
8.1.3 Суперклассы и Подклассы
8.1.4 Суперинтерфейсы
8.1.5 Тело класса и Задействованные Объявления
8.2 Элементы класса
8.2.1 Примеры Наследования
8.2.1.1 Пример: Наследование с Доступом По умолчанию
8.2.1.2 Наследование с общественностью и защищенным
8.2.1.3 Наследование с частным
8.2.1.4 Доступ к Элементам Недоступных Классов
8.3 Полевые Объявления
8.3.1 Полевые Модификаторы
8.3.1.1 статические Поля
8.3.1.2 заключительные Поля
8.3.1.3 переходные Поля
8.3.1.4 энергозависимые Поля
8.3.2 Инициализация Полей
8.3.2.1 Инициализаторы для Переменных Класса
8.3.2.2 Инициализаторы например Переменные
8.3.2.3 Ограничения на использование Полей во время Инициализации
8.3.3 Примеры Полевых Объявлений
8.3.3.1 Пример: Сокрытие Переменных Класса
8.3.3.2 Пример: Сокрытие Переменных экземпляра
8.3.3.3 Пример: Умножьте Наследованные Поля
8.3.3.4 Пример: перенаследование Полей
8.4 Объявления метода
8.4.1 Формальные параметры
8.4.2 Сигнатура метода
8.4.3 Модификаторы метода
8.4.3.1 абстрактные Методы
8.4.3.2 статические Методы
8.4.3.3 заключительные Методы
8.4.3.4 собственные Методы
8.4.3.5 Методы strictfp
8.4.3.6 синхронизируемые Методы
8.4.4 Броски метода
8.4.5 Тело метода
8.4.6 Наследование, Переопределение, и Сокрытие
8.4.6.1 Переопределение (Методами экземпляра)
8.4.6.2 Сокрытие (Методами Класса)
8.4.6.3 Требования в Переопределении и Сокрытии
8.4.6.4 Наследование Методов с Той же самой Подписью
8.4.7 Перегрузка
8.4.8 Примеры Объявлений метода
8.4.8.1 Пример: Переопределение
8.4.8.2 Пример: Перегрузка, Переопределение, и Сокрытие
8.4.8.3 Пример: Неправильное Переопределение
8.4.8.4 Пример: Переопределение против Сокрытия
8.4.8.5 Пример: Вызов Скрытых Методов Класса
8.4.8.6 Большой Пример Переопределения
8.4.8.7 Пример: Неправильное Переопределение из-за Бросков
8.5 Объявления Типа элемента
8.5.1 Модификаторы доступа
8.5.2 Статические Объявления Типа элемента
8.6 Инициализаторы экземпляра
8.7 Статические Инициализаторы
8.8 Объявления конструктора
8.8.1 Формальные параметры
8.8.2 Подпись конструктора
8.8.3 Модификаторы конструктора
8.8.4 Броски конструктора
8.8.5 Тело конструктора
8.8.5.1 Явные Вызовы Конструктора
8.8.6 Конструктор, Перегружающийся
8.8.7 Конструктор по умолчанию
8.8.8 Предотвращение Инстанцирования Класса

9 Интерфейсов

9.1 Интерфейсные Объявления
9.1.1 Интерфейсные Модификаторы
9.1.1.1 абстрактные Интерфейсы
9.1.1.2 Интерфейсы strictfp
9.1.2 Суперинтерфейсы и Подынтерфейсы
9.1.3 Интерфейсные Объявления Тела и Элемента
9.1.4 Доступ, чтобы Соединить интерфейсом с Именами элемента
9.2 Интерфейсные Элементы
9.3 Поле (Постоянные) Объявления
9.3.1 Инициализация Полей в Интерфейсах
9.3.2 Примеры Полевых Объявлений
9.3.2.1 Неоднозначные Наследованные Поля
9.3.2.2 Умножьте Наследованные Поля
9.4 Абстрактные Объявления метода
9.4.1 Наследование и Переопределение
9.4.2 Перегрузка
9.4.3 Примеры Абстрактных Объявлений метода
9.4.3.1 Пример: Переопределение
9.4.3.2 Пример: Перегрузка
9.5 Объявления Типа элемента

10 Массивов

10.1 Типы массива
10.2 Переменные типа массив
10.3 Создание массива
10.4 Доступ массива
10.5 Массивы: Простой Пример
10.6 Инициализаторы массива
10.7 Элементы массива
10.8 Объекты класса для Массивов
10.9 Массивом Символов Не является Строка
10.10 Исключений Хранилища Массива

11 Исключений

11.1 Причины Исключений
11.2 Время компиляции Проверяя Исключений
11.2.1 Почему Ошибки Не Проверяются
11.2.2 Почему Исключения на этапе выполнения Не Проверяются
11.3 Обработка Исключения
11.3.1 Исключения Точны
11.3.2 Обработка Асинхронных Исключений
11.4 Пример Исключений
11.5 Иерархия Исключения
11.5.1 Загрузка и Ошибки Редактирования
11.5.2 Ошибки Виртуальной машины

12 Выполнения

12.1 Запуск Виртуальной машины
12.1.1 Загрузите Тест Класса
12.1.2 Тест ссылки: Проверьте, Подготовьтесь, (Дополнительно) Решение
12.1.3 Инициализируйте Тест: Выполните Инициализаторы
12.1.4 Вызовите Test.main
12.2 Загрузка Классов и Интерфейсов
12.2.1 Процесс загрузки
12.3 Соединение Классов и Интерфейсов
12.3.1 Проверка Двоичного Представления
12.3.2 Подготовка Класса или Интерфейсного Типа
12.3.3 Разрешение Символьных Ссылок
12.4 Инициализация Классов и Интерфейсов
12.4.1 Когда Инициализация Происходит
12.4.2 Подробная Процедура Инициализации
12.4.3 Инициализация: Импликации для Генерации кода
12.5 Создание Новых Экземпляров Класса
12.6 Завершение Экземпляров Класса
12.6.1 Реализация Завершения
12.6.2 Вызовы финализатора Не Упорядочиваются
12.7 Разгрузка Классов и Интерфейсов
12.8 Выход программы

13 Совместимостей на уровне двоичных кодов

13.1 Форма Двоичного файла
13.2 Что Совместимость на уровне двоичных кодов и Не Является
13.3 Развитие Пакетов
13.4 Развитие Классов
13.4.1 абстрактные классы
13.4.2 заключительные Классы
13.4.3 publicClasses
13.4.4 Суперклассы и Суперинтерфейсы
13.4.5 Тело класса и Задействованные Объявления
13.4.6 Доступ к Элементам и Конструкторам
13.4.7 Полевые Объявления
13.4.8 заключительные Поля и Константы
13.4.9 статические Поля
13.4.10 переходные Поля
13.4.11 Метод и Объявления Конструктора
13.4.12 Метод и Параметры Конструктора
13.4.13 Тип Результата метода
13.4.14 абстрактные Методы
13.4.15 заключительные Методы
13.4.16 собственные Методы
13.4.17 статические Методы
13.4.18 синхронизируемые Методы
13.4.19 Метод и Броски Конструктора
13.4.20 Метод и Тело Конструктора
13.4.21 Метод и Конструктор, Перегружающийся
13.4.22 Метод, Переопределяющий
13.4.23 Статические Инициализаторы
13.5 Развитие Интерфейсов
13.5.1 открытые интерфейсы
13.5.2 Суперинтерфейсы
13.5.3 Интерфейсные Элементы
13.5.4 Полевые Объявления
13.5.5 Абстрактные Объявления метода

14 Блоков и Операторы

14.1 Нормальное и Резкое Завершение Операторов
14.2 Блоки
14.3 Объявления Локального класса
14.4 Операторы объявления Локальной переменной
14.4.1 Операторы объявления Локальной переменной и Типы
14.4.2 Контекст Объявлений Локальной переменной
14.4.3 Затенение Имен Локальными переменными
14.4.4 Выполнение Объявлений Локальной переменной
14.5 Операторы
14.6 Пустой Оператор
14.7 Помеченные операторы
14.8 Операторы выражения
14.9 Если Оператор
14.9.1 Если тогда Оператор
14.9.2 Оператор, "если тогда еще"
14.10 оператор переключения
14.11, в то время как Оператор
14.11.1 Резкое Завершение
14.12 делают Оператор
14.12.1 Резкое Завершение
14.12.2 Пример делает оператор
14.13 для Оператора
14.13.1 Инициализация для оператора
14.13.2 Итерация для оператора
14.13.3 Резкое Завершение для оператора
14.14 оператор завершения
14.15 продолжать Оператор
14.16 оператор возврата
14.17 Оператор броска
14.18 синхронизируемый Оператор
14.19 оператор попытки
14.19.1 Выполнение выгоды попытки
14.19.2 Выполнение "попытки ловит наконец"
14.20 Недостижимых Операторов

15 Выражений

15.1 Оценка, Обозначение, и Результат
15.2 Переменные как Значения
15.3 Тип Выражения
15.4 Строгие FP Выражения
15.5 Выражения и Проверки на этапе выполнения
15.6 Нормальное и Резкое Завершение Оценки
15.7 Порядок оценки
15.7.1 Оцените Левый Операнд Сначала
15.7.2 Оцените Операнды перед Работой
15.7.3 Круглые скобки Отношений оценки и Приоритет
15.7.4 Списки параметров Оцениваются Слева направо
15.7.5 Порядок оценки на Другие Выражения
15.8 Основные Выражения
15.8.1 Лексические Литералы
15.8.2 Литералы класса
15.8.3 этот
15.8.4 Квалифицированный этот
15.8.5 Заключенные в скобки Выражения
15.9 Выражения Создания Экземпляра класса
15.9.1 Определение Класса, который Инстанцируют
15.9.2 Определение Экземпляров Включения
15.9.3 Выбор Конструктора и его Параметров
15.9.4 Оценка времени выполнения Выражений Создания Экземпляра Класса
15.9.5 Объявления Анонимного класса
15.9.5.1 Анонимные Конструкторы
15.9.6 Пример: Порядок Оценки и Обнаружение Из памяти
15.10 Выражений Создания Массива
15.10.1 Оценка времени выполнения Выражений Создания Массива
15.10.2 Пример: Порядок Оценки Создания Массива
15.10.3 Пример: Создание Массива и Обнаружение Из памяти
15.11 Выражений Доступа к полю
15.11.1 Доступ к полю Используя Основное устройство
15.11.2 Доступ к Элементам Суперкласса, использующим супер
15.12 Выражений Вызова метода
15.12.1 Шаг 1 времени компиляции: Определите Класс или Интерфейс, чтобы Искать
15.12.2 Шаг 2 времени компиляции: Определите Сигнатуру метода
15.12.2.1 Найдите Методы, которые Применимы и Доступны
15.12.2.2 Выберите Самый определенный Метод
15.12.2.3 Пример: Перегрузка Неоднозначности
15.12.2.4 Пример: Возвратите Тип Не Продуманный
15.12.2.5 Пример: Разрешение времени компиляции
15.12.3 Шаг 3 времени компиляции: Выбранный Метод является Соответствующим?
15.12.4 Оценка времени выполнения Вызова метода
15.12.4.1 Вычислите Целевую Ссылку (В случае необходимости)
15.12.4.2 Оцените Параметры
15.12.4.3 Проверьте Доступность Типа и Метода
15.12.4.4 Определите местоположение Метода, чтобы Вызвать
15.12.4.5 Создайте Фрейм, Синхронизируйтесь, Управление Передачей
15.12.4.6 Пример: Целевые Ссылочные и Статические Методы
15.12.4.7 Пример: Порядок Оценки
15.12.4.8 Пример: Переопределение
15.12.4.9 Пример: Вызов метода, использующий супер
15.13 Выражений Доступа Массива
15.13.1 Оценка времени выполнения Доступа Массива
15.13.2 Примеры: Порядок Оценки Доступа Массива
15.14 Постфиксных Выражений
15.14.1 Постфиксный Инкрементный Оператор ++
15.14.2 Постфиксный Декрементный Оператор-
15.15 Унарных операторов
15.15.1 Префиксный Инкрементный Оператор ++
15.15.2 Префиксный Декрементный Оператор -
15.15.3 Унарный Плюс Оператор +
15.15.4 Оператор унарный минус -
15.15.5 Поразрядный Дополнительный Оператор ~
15.15.6 Логический Дополнительный Оператор!
15.16 Выражений Броска
15.17 Мультипликативных Операторов
15.17.1 Оператор умножения *
15.17.2 Оператор подразделения /
15.17.3 % Оператора остатка
15.18 Аддитивных Операторов
15.18.1 Оператор Конкатенации строк +
15.18.1.1 Преобразование строк
15.18.1.2 Оптимизация Конкатенации строк
15.18.1.3 Примеры Конкатенации строк
15.18.2 Аддитивные Операторы (+ и-) для Числовых Типов
15.19 Операторов Сдвига
15.20 Операторов отношения
15.20.1 Числовые Операторы сравнения <<=>, и> =
15.20.2 Оператор Сравнения типов instanceof
15.21 Операторов Равенства
15.21.1 Числовые Операторы Равенства == и! =
15.21.2 Булевы Операторы Равенства == и! =
15.21.3 Ссылочные Операторы Равенства == и! =
15.22 Логических операторов и Логические операторы
15.22.1 Целочисленные Логические операторы &, ^, и |
15.22.2 Булевы Логические операторы &, ^, и |
15.23 Условных выражений - И Оператор &&
15.24 Условных выражений - Или Оператор ||
15.25 Условных Операторов?:
15.26 Операторов присваивания
15.26.1 Простой Оператор присваивания =
15.26.2 Составные Операторы присваивания
15.27 Выражений
15.28 Константных выражений

16 Определенных Присвоений

16.1 Определенное Присвоение и Выражения
16.1.1 Булевы Константные выражения
16.1.2 Булев оператор &&
16.1.3 Булев оператор ||
16.1.4 Булев оператор!
16.1.5 Булев оператор?:
16.1.6 Условный Оператор?:
16.1.7 Выражения присвоения
16.1.8 Операторы ++ и -
16.1.9 Другие Выражения
16.2 Определенное Присвоение и Операторы
16.2.1 Пустые Операторы
16.2.2 Блоки
16.2.3 Операторы объявления Локального класса
16.2.4 Операторы объявления Локальной переменной
16.2.5 Помеченные операторы
16.2.6 Операторы выражения
16.2.7 если Операторы
16.2.8 операторы переключения
16.2.9 в то время как Операторы
16.2.10 сделайте Операторы
16.2.11 для Операторов
16.2.11.1 Часть инициализации
16.2.11.2 Часть приращения
16.2.12 повредите, продолжайте, возвратите, и бросьте Операторы
16.2.13 синхронизируемые Операторы
16.2.14 попробуйте Операторы
16.3 Определенное Присвоение и Параметры
16.4 Определенные Инициализаторы Присвоения и Массива
16.5 Определенное Присвоение и Анонимные классы
16.6 Определенное Присвоение и Типы элемента
16.7 Определенное Присвоение и Статические Инициализаторы
16.8 Определенное Присвоение, Конструкторы, и Инициализаторы Экземпляра

17 Потоков и Блокировки

17.1 Терминология и Платформа
17.2 Порядок выполнения
17.3 Правила о Переменных
17.4 Неатомарная Обработка двойного и длинного
17.5 Правила о Блокировках
17.6 Правила о Взаимодействии Блокировок и Переменных
17.7 Правила для Энергозависимых Переменных
17.8 Наделенные даром предвидения Действия Хранилища
17.9 Обсуждение
17.10 Примеров: Возможная Подкачка
17.11 Примеров: не в порядке Записи
17.12 Потоков
17.13 Блокировок и Синхронизация
17.14 Ожидают Наборы и Уведомление

18 Синтаксисов

18.1 Грамматика Языка программирования Java

Индекс


Содержание | Предыдущий | Следующий | Индекс Спецификация языка Java
Второй Выпуск
Авторское право © Sun Microsystems, Inc 2000 года. Все права защищены
Пожалуйста, отправьте любые комментарии или исправления к jls@java.sun.com



Spec-Zone.ru - all specs in one place