Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
А. Н. Васильев - Java. Объектно-ориентированное...doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
687 Кб
Скачать
☆

Часть I. Введение в Java Глава 1. Основы Java

Фандорин, у меня времени нет! Скажите по-человечески.

Я не понимаю этого языка.

Из к/ф «Статский советник»

Как отмечалось во вступлении, язык программирования Java является полно- стью объектно-ориентированным. Это означает, что для составления даже самой простой программы необходимо описать класс. Однако в языке программирова- ния Java, кроме классов и объектов, есть на что обратить внимание.

Рассмотрение методов программирования в Java начнем с наиболее простых случаев. При этом нам все же придется использовать классы. Чтобы не загро- мождать самое начало книги довольно отвлеченными и не всегда понятными для новичков в программировании вопросами по созданию классов и объектов, используем следующий прием. Постулируем некоторые базовые синтаксические конструкции как основу создания программы в Java, а затем, в главе 4, посвя- щенной классам и объектам, дадим более подробные объяснения по этому пово- ду, причем в контексте методов объектно-ориентированного программирования (сокращенно ООП ). Думается, такой подход, с одной стороны, позволит чита- телю, не знакомому с концепцией ООП, легче и быстрее усваивать новый мате- риал, а затем плавно перейти к созданию реальных объектно-ориентированных программ в Java. С другой стороны, практически не пострадают те, кто знаком с методами ООП (например, программирующие на C++), поскольку представ- ленный далее материал в любом случае важен для понимания принципов про- граммирования в Java.

Простые программы

Отлично, отлично! Простенько, и со вкусом!

Из к/ф «Бриллиантовая рука»

За исключением нескольких последних глав книги, в основном будут рассма- триваться консольные программы. Памятуя о том, что лучше один раз увидеть, чем сто раз услышать, рассмотрим достаточно простую программу, выводящую на экран сообщение.

Простые программы 17

Листинг 1.1. Простая программа

class Intro{

public static void main(String[] args){

System.out.println("Мы программируем на Java!");

}

}

После компиляции и запуска программы (например, в среде NetBeans) в окне вывода появляется сообщение Мы программируем на Java!. Рассмотрим программ- ный код подробнее. Приведенные далее комментарии о этому поводу предна- значены в основном для тех, кто никогда не имел дела с таким языком програм- мирования, как С++.

Во-первых, сразу отметим, что фигурными скобками в языке программирова- ния Java (как и C++ и C#) отмечаются блоки программного кода. Программный код размещается между открывающей (символ {) и закрывающей (символ }) фигурными скобками. В данном случае использовано две пары фигурных ско- бок. Первая, внешняя, пара использована для определения программного кода класса, вторая — для определения метода этого класса.

Как неоднократно отмечалось, для создания даже самой простой программы не- обходимо описать класс. Описание класса начинается с ключевого слова class. После этого следует уникальное имя класса. Непосредственно программный код класса заключается в фигурные скобки. Таким образом, синтаксической кон- струкцией class Intro{...} определяется класс с названием Intro.

Программный код класса Intro состоит всего из одного метода с названием main() (здесь и далее названия методов будут указываться с круглыми скобками после имени, чтобы отличать их от переменных). Название метода стандартное. Дело в том, что выполнение Java-программы начинается с вызова метода с именем main(). Другими словами, в методе main() представлен код, который выполня- ется в результате вызова программы. Программа содержит один и только один метод с именем main() (исключение составляют апплеты — у них метода main() нет). Метод main() иногда называют главным методом программы, поскольку во многом именно с этим методом отождествляется сама программа.

Ключевые слова public, static и void перед именем метода main() означают бук- вально следующее: public — метод доступен вне класса, static — метод статиче- ский и для его вызова нет необходимости создавать экземпляр класса (то есть объект), void — метод не возвращает результат. Уровни доступа членов класса, в том числе открытый (public) доступ, детально описываются в главе 6, посвя- щенной наследованию. Статические (static) члены класса и особенности рабо- ты с ними описываются в главе 4, посвященной созданию классов и объектов. Пояснения по поводу типа результата, возвращаемого методами (в том числе методом main()), даются в той же главе.

Инструкция String[] args в круглых скобках после имени метода main() озна- чает тип аргумента метода: формальное название аргумента args, и этот ар- гумент является текстовым массивом (тип String). Типу String посвящена

отдельная глава книги (см. главу 8). Массивы описываются в следующей главе. Желающие побольше узнать о способах передачи аргументов методам могут обратиться к главе 4, посвященной созданию классов и объектов. Квадратные скобки можно указывать после ключевого слова String или после имени ар- гумента args.

Тем, кто программирует в С++, многое из приведенного уже знакомо. Для тех, кто ничего знакомого во всем этом не увидел, резюмируем: на ближайшее время все наши программы будут иметь следующую структуру:

class имя_класса{

public static void main(String[] args){

программный_код

}

}

Название класса (параметр имя_класса) задается пользователем — это, фактиче- ски, название программы. В месте, где указан параметр программный_код, указыва- ется непосредственно выполняемый при вызове программы программный код.

В рассматриваемом примере программный код состоит всего из одной команды System.out.println("Мы программируем на Java!"). Команда заканчивается точкой с запятой — это стандарт для Java. Командой с помощью встроенного метода println() на консоль (по умолчанию консолью является экран) выводится со- общение "Мы программируем на Java!". Текст сообщения указан аргументом метода. Метод вызывается через поле-объект out объекта потока стандартного вывода System. Подробнее система ввода-вывода обсуждается во второй части книги, по- сле того как мы подробнее познакомимся с классами и объектами. Пока же сле- дует запомнить, что для вывода информации на экран в консольных приложе- ниях используется инструкция вида System.out.println(), где в круглых скобках указывается выводимый текст, числовые значения, имена переменных и т. д. — все то, что можно указывать аргументом метода println(), и каковы будут по- следствия, описано в главе 8, посвященной работе с объектами класса String и StringBuffer.

Если читатель испытывает трудности с компиляцией и запуском программы из листинга 1.1, рекомендуем ему обратиться к приложению в конце книги, посвя- щенному методам практического использования среды разработки NetBeans.