Страница 6 из 133
Принцип полиморфизма хорошо иллюстрирует следующее выражение: “один интерфейс — множество методов”. Это означает возможность создания универсального интерфейса для группы взаимосвязанных действий. Полиморфизм упрощает программу благодаря возможности определить общий класс действий с помощью одного и того же интерфейса. Выбрать определенное действие (т.е. метод) — задача компилятора, и он решает ее в зависимости от конкретных условий. Как программисту вам не приходится выбирать метод вручную. Нужно лишь помнить основные принципы использования общего интерфейса.Наследование
Наследование — это процесс, в ходе которого один объект приобретает свойства другого объекта. Наследование имеет очень большое значение, поскольку с его помощью поддерживается иерархическая классификация. Если вдуматься, то знания чаще всего имеют иерархическую структуру. Например, яблоки конкретного сорта относятся к классу яблок, который в свою очередь относится к классу фруктов, а тот — к более обширному классу съедобных плодов. В данном случае съедобные плоды обладают определенными свойствами (они питательны, не ядовиты и т.д.). Эти же свойства автоматически присущи подклассу фруктов. Кроме того, класс фруктов обладает дополнительными свойствами (сочные, сладкие и т.д.), что отличает его от класса других съедобных плодов. Яблоки имеют более конкретные свойства (растут на деревьях, не являются тропическими плодами и т.д.) И наконец, отдельный сорт яблок наследует все свойства описанных выше классов и, кроме того, обладает особыми свойствами, отличающими его от других сортов яблок.
Без такой иерархической структуры для каждого объекта пришлось бы заново определять весь набор свойств. Благодаря наследованию для объекта достаточно указать те свойства, которые отличают его от других классов, а остальные общие атрибуты он наследует от своих родительских классов. Таким образом, благодаря наследованию возможно создать объект, являющийся экземпляром более общего класса.Установка комплекта Java Development Kit
Итак, усвоив теоретические основы Java, можно приступать к написанию программ на Java. Для того чтобы написанную программу можно было скомпилировать и запустить на выполнение, вам нужно установить на своем компьютере комплект Java Development Kit, поддерживающий процесс разработки программ на Java. Этот комплект свободно предоставляется компанией Oracle. На момент написания данной книги доступна была его версия JDK 7, применяемая на платформе Java SE 7, где SE — стандартная версия. Комплект JDK 7 содержит немало новых средств, которые не поддерживаются в предыдущих версиях Java, и поэтому для компиляции и выполнения примеров программ, представленных в этой книге, потребуется JDK 7 или более поздняя версия данного комплекта.
Комплект JDK можно загрузить по адресу www.oracle.com/technetwork/java/javase/downloads/index.html. Для этого достаточно перейти на страницу загрузки по указанному адресу и следовать инструкциям для вашего типа компьютера и операционной системы. После установки JDK вы сможете приступить к компиляции и запуску программ на выполнение. Среди многих программ, входящих в состав JDK, вам в первую очередь понадобятся две. Первая из них, javac, служит в качестве компилятора Java, а вторая, java, — в качестве стандартного интерпретатора Java и зачастую называется загрузчиком приложений.
Следует, однако, иметь в виду, что программы, входящие в состав JDK, запускаются из командной строки. Они не являются оконными приложениями и не составляют интегрированную среду разработки.
На заметкуПомимо основных инструментальных средств JDK, доступных из командной строки, для разработки программ на Java имеются высококачественные интегрированные среды вроде NetBeans и Eclipse. Интегрированная среда может оказаться очень удобной для разработки и развертывания коммерческих приложений. Как правило, в интегрированной среде можно по желанию скомпилировать и выполнить примеры программ, представленных в этой книге. Но инструкции по компиляции и выполнению этих примеров программ приводятся в книге только для инструментальных средств JDK, доступных из командной строки, ради простоты усвоения по целому ряду причин. Во-первых, комплект JDK легко доступен для всех читателей книги. Во-вторых, инструкции по применению JDK одинаковы для всех пользователей. А кроме того, простые примеры программ, представленные в этой книге, проще всего компилировать и выполнять инструментальными средствами JDK из командной строки. Если же вы пользуетесь интегрированной средой разработки, вам придется следовать ее инструкциям. А в силу отличий, имеющихся у разных интегрированных сред разработки, дать общие инструкции по компиляции и выполнению программ, написанных на Java, не представляется возможным.Первая программа на Java
Попробуйте скомпилировать и запустить простую программу, исходный код которой приведен ниже./*Это пример простой программы на Java.Присвоить ее исходному файлу имя Example.java.*/class Example { // Выполнение всякой программы на Java начинается // с вызова метода main(). public static void main(String args[]) { System.out.println("Java drives the Web."); }}
Итак, выполните следующие действия.
Введите исходный код программы.
Скомпилируйте программу.
Запустите программу на выполнение.Ввод исходного кода программ
Исходные коды примеров программ, представленных в этой книге, доступны на веб-сайте издательства McGraw-Hill по адресу www.oraclepressbooks.com. Перейдите по указанному адресу на главную страницу этого веб-сайта, а затем по ссылке Dowloads-Code-Java A Begi
В большинстве языков программирования допускается присваивать произвольное имя файлу, содержащему исходный код программы. Но в Java действуют иные правила. Для программирования на Java следует знать, что имя исходного файла имеет очень большое значение. В рассматриваемом здесь примере файлу, содержащему исходный код программы, нужно присвоить имя Example .java. Ниже поясняются причины, по которым выбирается именно такое имя файла.
В Java исходный файл формально называется единицей компиляции. Это текстовый файл, содержащий определения одного или нескольких классов. (Исходные файлы первых примеров программ будут содержат только один класс.) Компилятор Java требует, чтобы исходный файл имел расширение . j ava. Анализируя исходный код первого примера программы, вы заметите, что класс имеет имя Example. И это не случайно. В программах на Java весь код должен находиться внутри класса. Условно принято, что имя класса должно совпадать с именем файла, содержащего исходный текст программы. Нетрудно убедиться, что имя файла в точности соответствует имени класса вплоть до регистра. Дело в том, что в Java имена и другие идентификаторы зависят от регистра символов. На первый взгляд, условие соответствия имен классов и файлов может показаться слишком строгим, но оно упрощает организацию и сопровождение программ, как станет ясно из последующих примеров.Компиляция программы
Для компиляции программы Example запустите компилятор javac, указав в командной строке имя исходного файла, как показано ниже.C:>javac Example.java
Компилятор javac создаст файл Example .class, содержащий байт-код программы. Напомним, что байт-код не является исполняемым, но интерпретируется виртуальной машиной Java. Таким образом, результат компиляции в javac нельзя запускать на выполнение непосредственно.
Для запуска скомпилированной программы следует воспользоваться интерпретатором java. В качестве параметра ему нужно передать имя класса Example в командной строке:C:>java Example