Первое приложение на Java
Язык Java используется для разработки 2 различных типов программ: приложений и апплетов.
Приложение - это обычная программа, которая работает в автономном режиме на компьютере под управлением операционной системы (DOS, Windows и т.д.). В этом качестве программы, созданные с помощью языка Java, принципиально не отличаются от программ, разработанных с помощью других языков программирования.
Апплет - это приложение, разрабатываемое для передачи через Интернет. Оно представляет собой программу, которая загружается с помощью команд HTML и взаимодействует с пользователем. Все, что Вы видите на экране - это апплеты.
В этом разделе мы разберем простейшее приложение, а в следующем - простейший апплет.
Но вначале отметим основные принципы, на которых строится программирование обоих типов программ на Java.
Все программы на Java построены с использованием принципов Обьектно-Ориентированного Программирования (ООП - но прошу не путать с палестинскими принципами - это несколько другая опера).
Опишем их вкратце.
1. Инкапсуляция.
Это механизм, который связывает данные с методами, выполняющими их обработку и защищает их от несанкционированного доступа.
Возьмем конкретный пример. Все прямоугольники имеют одни и те же данные: координаты вершин (естественно, значение этих данных различается) и одни и те же методы, например, формулы определения площади, периметра, длины диагонали, радиуса описанной окружности и т.д. (В С++ методы называют функциями).
Все прямоугольники образуют один тип данных - КЛАСС.
Классом называется множество данных и методов, описывающих однотипную группу обьектов.
Другой пример класса: класс программистов. Их характеризуют, например, следующие данные: пол, возраст, стаж, знание языков, образование, страна и т.д. и т.п. А к методам можно отнести, например, зарплату как производную от данных.
Еще пример: класс денег. Данные: страна, год выпуска, сумма, нарисованная на банкноте или монете. Метод: покупательная способность одной такой деньги.
2. Наследование.
На базе существующего класса строится другой, включающий в себя все данные и методы своего родителя и добавляющий новые данные или методы.
Например, класс прямоугольников использует все данные и свойства класса параллелограммов.
Класс программистов на Java наследует все данные и свойства класса программистов.
Что касается наследования денег - то об этом даже думать приятно...
3. Полиморфизм.
Полиморфизм заключается в использовании одного и того же интерфейса для однотипных действий, хотя методы здесь используются разные. Например, правило возведения в степень зависит от вида степени и вычисляется по-разному в зависимости от показателя степени: натуральный, целый отрицательный, рациональный, иррациональный.
Итак, перейдем, наконец к первому примеру.
Исходный текст программы в Java помещается в файл с именем создаваемого класса и с расширением .java .
Мы создадим класс MyFirstProgram, следовательно, имя файла с исходным текстом - MyFirstProgram.java .
Я обращаю внимание на имена программ. Имена должны быть такими, чтобы имя соответствовало назначению и по имени можно было в максимальной степени понять назначение программы (класса, метода, данных).
Простейшая программа, которая умеет только здороваться, выглядит следующим образом (курсивом выделены встроенные слова языка Java):
/* Моя первая программа MyFirstProgram.class */
class MyFirstProgram {
public static void main(string args[ ]) {
System.out.println("Hello. I'm your first program");
}
}
Разберем эту программу. Те, кто не знаком с языком С , могут испугаться, но - постепенно все станет понятным.
Первая строка окружена символами
/* и */ - это коомментарий.
Вторая строка обьявляет новый класс с именем MyFirstProgram. Полное определение класса содержится между открывающей ( { - на 2 строке) и закрывающей ( } - на 6 строке) фигурными скобками.
Третья строка уже интереснее. Здесь открывается метод main(). Все Java - приложения начинаются с этого метода.
Ключевое слово public - спецификация доступа. Он должен быть именно public , а не private, так как в начале программы вызывается внешним методом.
Ключевое слово static позволяет вызвать метод main() без обязательного создания конкретного экземпляра класса.
Ключевое слово void сообщает компилятору, что функция main() не возвращает значений.
У данного метода есть один параметр - args, который представляет собой массив экземпляров строкового класса string. Этой переменной args в качестве значения присваиваются любые параметры командной строки. (Данная программа игнорирует эту информацию).
Сложные программы могут иметь много классов, но только один из них должен обладать методом main() , с которого начинается выполнение программы.
Здесь же заметим, что создание апплетов (программ для Интернет) не предусматривает использование метода main() так как Web - браузер применяет другие средства для запуска апплетов - этот вопрос мы рассмотрим в следующем разделе.
Описание метода main() содержится между открывающей ( { - на 3 строке) и закрывающей ( } - на 5 строке) фигурными скобками.
Четвертая строка.
System - это класс, представляющий доступ к системе,
out - это выходной поток, println() - встроенный метод, который выводит на экран текст, заданный внутри как параметр.
Для компиляции этой программы в JDK следует выполнить в DOS:
javac MyFirstProgram.java
В процессе компиляции создается файл с тем же именем и с расширением .class , то есть
MyFirstProgram.class.
Для выполнения полученной программы выполните в DOS:
java MyFirstProgram
и получите текст:
Hello. I'm your first program