Философия Java - страница 3

Шрифт
Интервал

стр.

Глава 13. Информация о типах..................352

Необходимость в динамическом определении типов (RTTI).........352

Регистрация фабрик............................372

Рефлексия: динамическая информация о классе..............376

Динамические посредники.........................380

Объекты с неопределенным состоянием..................384

Интерфейсы и информация о типах....................390

Резюме...................................394

Глава 14. Параметризация.....................397

Простая параметризация..........................398

Параметризованные интерфейсы......................404

Параметризованные методы........................407

Построение сложных моделей.......................419

Ограничения................................437

Метасимволы................................440

Резюме...................................452

Глава 15. Массивы........................454

Особенности массивов...........................454

Массив как объект.............................456

Возврат массива..............................458

Многомерные массивы...........................460

Массивы и параметризация.........................463

Создание тестовых данных.........................465

Создание массивов с использованием генераторов.............470

Вспомогательный инструментарий Arrays..................474

Резюме...................................482

Глава 16. Система ввода/вывода Java...............483

Класс File..................................484

Ввод и вывод................................489

Добавление атрибутов и интерфейсов...................491

Классы Reader и Writer...........................494

RandomAccessFile: сам по себе.......................497

Типичное использование потоков ввода/вывода..............498

Средства чтения и записи файлов.....................505

Стандартный ввод/вывод..........................507

Новый ввод/вывод (nio)..........................510

Сжатие данных...............................531

Сериализация объектов..........................536

Предпочтения...............................553

Резюме...................................555

Глава 17. Параллельное выполнение...............557

Класс Thread................................559

Исполнители................................561

Совместное использование ресурсов....................578

Взаимодействие между потоками......................598

Взаимная блокировка............................602

Новые библиотечные компоненты.....................607

CountDownLatch..............................607

CyclicBarrier.................................609

DelayQueue.................................611

PriorityBlockingQueue............................614

Семафоры.................................619

Exchanger.................................623

Моделирование...............................624

Резюме...................................629

Алфавитный указатель......................631

Посвящается Дон

Введение в объекты

Мы препарируем природу, преобразуем ее в концепции и приписываем им смысл так, как мы это делаем во многом, потому что все мы являемся участниками соглашения, которое имеет силу в обществе, связанном речью, и которое закреплено в структуре языка... Мы не можем общаться вовсе, кроме как согласившись с установленными этим соглашением организацией и классификацией данных.

Бенджамин Ли Ворф (1897-1941)

Возникновением компьютерной революции мы обязаны машине. Поэтому наши языки программирования стараются быть ближе к этой машине.

Но в то же время компьютеры не столько механизмы, сколько средства усиления мысли («велосипеды для ума», как любит говорить Стив Джобе), и еще одно средство самовыражения. В результате инструменты программирования все меньше склоняются к машинам и все больше тяготеют к нашим умам, также как и к другим формам выражения человеческих устремлений, как-то: литература, живопись, скульптура, анимация и кинематограф. Объектно-ориентиро-ванное программирование (ООП) — часть превращения компьютера в средство самовыражения.

Эта глава познакомит вас с основами ООП, включая рассмотрение основных методов разработки программ. Она, и книга вообще, подразумевает наличие у вас опыта программирования на процедурном языке, не обязательно С. Если вам покажется, что перед прочтением этой книги вам не хватает познаний в программировании и синтаксисе С, воспользуйтесь мультимедийным семинаром


стр.

Похожие книги