Java 2    практическое руководство                          Минск 




PDF просмотр
Название          Java 2    практическое руководство                          Минск 
Дата конвертации11.01.2013
Размер1.67 Mb.
ТипРуководство


 
 
И.Н. Блинов,  В.С. Романчик 
 
 
 
 
 
 
 

Java 2 
 
ПРАКТИЧЕСКОЕ РУКОВОДСТВО 
 
 
 
 
 
 
 
 
 
 
 
 

Минск 
УП «УниверсалПресс» 
2005 

 
УДК 004.432.45 
ББК   32.973.26-018.1 
    Б69 
 
 

Р е к о м е н д о в а н о   к   и з д а н и ю  
Ученым советом факультета прикладной математики 
и информатики БГУ 
 
А в т о р ы :  
доцент кафедры ИПМОАП БГУ, 
кандидат физико-математических наук И.Н. Блинов 
доцент, зав. кафедрой численных методов и программирования БГУ, 
кандидат физико-математических наук В.С. Романчик 
 
 
Р е ц е н з е н т ы :  
профессор, докт. физ.-матем. наук В.Б. Таранчук; 
доц. канд. физ.-матем. наук И.М. Галкин;  
доц. канд. техн. наук А.Е. Люлькин;  
доц. канд. физ.-матем. наук С.В. Суздаль 
 
 
 
Блинов, И.Н. 
Б69          Java 2: практ. рук. / И.Н. Блинов, В.С. Романчик. – Мн.: УниверсалПресс, 2005. 
– 400 с.  
ISBN 985-6699-37-1 
Книга предназначена для начинающих и продолжающих изучение Java-технологий. В пер-
вой  части  даны  основы  языка Java и  концепции  объектно-ориентированного  программирова-
ния.  Во  второй  части  изложены  наиболее  важные  аспекты  применения  языка.  В  третьей 
части  приведены  основы  программировании  распределенных  информационных  систем  с 
применением сервлетов, JSP, баз данных и собственных тегов разработчика. 
В конце каждой главы даны тестовые вопросы по материалу главы и задания для выполне-
ния по рассмотренной теме. В приложениях приведены дополнительные материалы, относящие-
ся к использованию HTML, XML в информационных системах, основанных на применении Java-
технологий,  а  также  краткое  описание  популярной  технологии Struts для  разработки  распреде-
ленных систем, объединяющей возможности J2EE и XML. 
Дополнительно представлены расширения версии платформы JSDK 1.5.0 (Java 5.0.) 
 
УДК 
ББК  
 
 
 
 
 
 
 
 
                                                                    ©  Блинов И.Н., Романчик В.С., 2005 
ISBN 985-6699-37-1                                     © Оформление, УП «УниверсалПресс», 2005 

 
 
 
 
 
Часть 1. Глава 1. Приложения и апплеты. Классы и объекты  

ПРЕДИСЛОВИЕ 
Эта книга является обобщением материала, который авторы предлага-
ли  студентам  механико-математического  факультета  и  факультета  при-
кладной математики и информатики БГУ, а также слушателям курсов по-
вышения  квалификации  учебного  центра IBA при  изучении  компьютер-
ных технологий. Изучение Java-технологий по учебному плану следует за 
изучением  технологий C++, поэтому  авторы  при  изложении  материала 
довольно часто ссылаются на соответствующие структуры языка C++. При 
этом знания языка C++ не требуется и никакой зависимости от языка C++ 
не  используется,  кроме  ссылок  на  похожий  синтаксис  языка  и  на  общие 
концепции  объектно-ориентированного  программирования.  Книгу  можно 
использовать для обучения программированию на языке Java с “нуля”. 
Интересы  авторов,  направленные  на  обучение,  определили  структуру 
данной  книги.  Книга  предназначена  для  начинающих  изучение Java-
технологий  и  для  продолжающих  обучение  на  среднем  уровне.  Авторы 
считают,  что  “профессионалов”  обучить  нельзя,  ими  становятся  только 
после участия в разработке нескольких серьезных Java-проектов. В то же 
время данный курс может служить ступенькой к мастерству. Прошедшие 
обучение по данному курсу успешно сдают различные экзамены, получа-
ют  международные  сертификаты  и  в  состоянии  участвовать  в  командной 
разработке достаточно больших проектов. 
Книга  разбита  на  три  логических  части  и  состоит  из  глав.  В  первой 
части  даны  основы  языка Java и  концепции  объектно-ориентированного 
программирования. Во второй части изложены наиболее важные аспек-
ты  применения  языка,  в  частности  коллекции  и  многопоточность.  В 
третьей  части  приведены  основы  программировании  распределенных  ин-
формационных систем с применением сервлетов, JSP и баз данных, также 
даны основные принципы создания собственных библиотек тегов. 
В конце каждой главы находятся тестовые вопросы по материалу дан-
ной  главы  и  задания  для  выполнения  по  рассмотренной  теме.  Ответы  и 
пояснения к тестовым вопросам сгруппированы в отдельный блок. 
В приложениях приведены дополнительные материалы, относящиеся к 
использованию HTML, XML в информационных системах, основанных на 
применении Java-технологий,  а  также  краткое  описание  популярной  тех-
нологии Struts для разработки распределенных систем, в полной мере объ-
единяющей возможности J2EE и XML. 
Рассмотренный  материал  относится  к  программированию  на  языке 
Java 2, однако  дополнительно  представлены  нововведения  версии  плат-
формы JSDK 1.5.0, которую создатели языка назвали Java 5.0. 

 
 
 
 
 
      JAVA  2. ПРАКТИЧЕСКОЕ РУКОВОДСТВО 
10 
АВТОРЫ БЛАГОДАРЯТ 
В  создании  этой  книги  нам  помогли  многие  коллеги.  Без  их  участия 
этот проект, возможно, был бы до сих пор незавершенным. 
Выражаем благодарность директору отделения интернет-технологий 
компании IBA В.Ю.  Никуленко – за  техническую  и  технологическую 
поддержку  проекта,  директору  учебного  центра IBA В.К.  Дюбкову – за 
финансирование проекта, а также директору отделения управления персо-
налом И.И. Врублевскому – за поддержку и расширение проекта. 
Благодарим  наших  рецензентов:  проректора  Белорусского  государ-
ственного  педагогического  университета,  профессора,  докт.  физ.-матем. 
наук  В.Б.  Таранчука,  доцентов  механико-математического  факультета 
БГУ  И.М. Галкина, А.Е. Люлькина, С.В. Суздаля, сотрудника IBA В.В. 
Леоновича за ценные замечания и предложения. 
Выражаем  свою  признательность  студентам  факультетов  приклад-
ной  математики  и  информатики  и  механико-математического  Белгосу-
ниверситета А. Домино, А. Орлову, А. Шелуховскому, А. Шуманскому, 
Д. Зюкову, Д. Глиндзичу, А. Казакевичу, А. Полюху, П. Краснопевцеву, 
П.  Шавелю,  К.  Чернышу,  С.  Доманову,  В.  Козловскому,  Л.  Паримской 
за  подготовку  и  тестирование  целого  ряда  примеров,  иллюстраций  и 
диаграмм. 
 

 
 
 
 
  Часть 1. Глава 1. Приложения и апплеты. Классы и объекты   11 
 
Часть 1.  
Основы языка Java 
В первой части книги излагаются вопросы, относящиеся к основам языка 
Java и концепции объектно-ориентированного программирования: ти-
пы данных, операторы, классы и интерфейсы, наследование классов и 
полиморфизм. 
Глава 1 
ПРИЛОЖЕНИЯ И АППЛЕТЫ. КЛАССЫ И ОБЪЕКТЫ 

Обзор языка Java 2 
Язык Java – это  объектно-ориентированный,  платформенно-незави-
симый  язык  программирования,  используемый  для  разработки  распреде-
ленных  приложений,  работающих  в  сети Internet. Проект Java был  пред-
ставлен  корпорацией  Sun Microsystems в 1995 году.  Система  программи-
рования Java позволяет  использовать World Wide Web (WWW) для  рас-
пространения  небольших  интерактивных  прикладных  программ – аппле-
тов. Они размещаются на серверах Internet, транспортируются клиенту по 
сети,  автоматически  устанавливаются  и  запускаются  на  месте  как  часть 
документа WWW. Апплет имеет весьма ограниченный доступ к ресурсам 
компьютера  клиента,  поэтому  он  может  предоставлять  произвольный 
мультимедийный интерфейс и  выполнять сложные вычисления без риска 
повреждения данных на диске. Другим видом программ являются прило-
жения Java, представляющие  собой  переносимые  коды,  которые  могут 
выполняться на любом компьютере, независимо от его архитектуры. Гене-
рируемый при этом виртуальный код представляет набор инструкций для 
выполнения  на  интерпретаторе  виртуального  кода – виртуальной Java-
машине (JVM – Java Virtual Machine). Широкое распространение получили 
сервлеты  и JSP (Java Server Pages), предоставляющие  клиентам  возмож-
ность доступа к серверным приложениям и базам данных. 

 
 
 
 
      JAVA  2. ПРАКТИЧЕСКОЕ РУКОВОДСТВО 
12 
Язык Java использует синтаксис языка C++. Основные отличия от C++ 
связаны с необходимостью уменьшения размеров программ и увеличения 
требований к безопасности переносимых приложений, работающих в сети. 
Java не поддерживает указателей (наиболее опасного средства языка С++), 
так как возможность работы с произвольными адресами памяти через без-
типовые указатели позволяет игнорировать защиту памяти. 
Системная библиотека классов языка содержит классы и пакеты, реа-
лизующие различные базовые возможности языка. Методы классов, вклю-
ченных  в  эти  библиотеки,  вызываются  из JVM во  время  интерпретации 
Java-программы. В Java все объекты программы расположены в динамиче-
ской  памяти (heap) и  доступны  по  объектным  ссылкам,  которые,  в  свою 
очередь, хранятся в стеке (stack). Это решение исключило непосредствен-
ный доступ к памяти, но усложнило работу с элементами массивов и сде-
лало ее менее эффективной по сравнению с программами на C++. Необхо-
димо отметить, что объектные ссылки языка Java содержат информацию о 
классе объектов, на которые они ссылаются, так что объектные ссылки – 
это  не  указатели,  а  дескрипторы  объектов.  Наличие  дескрипторов  позво-
ляет JVM выполнять  проверку  совместимости  типов  на  фазе  интерпрета-
ции кода, генерируя исключение в случае ошибки. В Java пересмотрена и 
концепция    динамического  распределения  памяти:  отсутствуют  способы 
освобождения динамически выделенной памяти. Вместо этого реализова-
на система автоматического освобождения памяти (сборщик мусора), вы-
деленной с помощью оператора new.  
Стремление  разработчиков  упростить Java-программы  и  сделать  их 
более  понятными  привело  к  необходимости  удаления  из  языка  файлов-
заголовков (h-файлов)  и  препроцессорной  обработки.  Файлы-заголовки 
С++,  содержащие  прототипы  классов  и  распространяемые  отдельно  от 
двоичного  кода  этих  классов,  усложняют  управление  версиями,  что  дает 
возможность  несанкционированного  доступа  к  частным  данным.  В Java-
программах  спецификация  класса  и  его  реализация  всегда  содержатся  в 
одном и том же файле.  
Java не поддерживает структуры и объединения, являющиеся частны-
ми случаями классов в C++. Язык Java не поддерживает перегрузку опера-
торов  и typedef, беззнаковые  целые  (если  не  считать  таковым  char),  а 
также использование методами аргументов по умолчанию. В Java отсутст-
вует множественное наследование, существуют конструкторы, но отсутст-
вуют  деструкторы  (применяется  автоматическая  сборка  мусора),  не  ис-
пользуется оператор goto и слово const, хотя они являются зарезерви-
рованными словами языка. 

 
 
 
 
Часть 1. Глава 1. Приложения и апплеты. Классы и объекты   13 
Наиболее  существенные  новые  возможности,  появившиеся  в Java, – 
это  интерфейсы  (аналог  абстрактных  классов C++) и  многопоточность 
(возможность одновременного выполнения частей кода). 
Изменения в версии  J2SE 5.0 
В версии языка J2SE 5.0 внесены некоторые изменения и усовершен-
ствования: 
• введено понятие шаблона класса; 
• поддерживаются перечисления типов; 
• упрощен  обмен  информацией  между  примитивными  типами 
данных и их классами-оболочками; 
• разрешено  определение  метода  с  переменным  количеством  па-
раметров; 
• возможен статический импорт констант и методов; 
• улучшен механизм формирования коллекций; 
• добавлен форматированный консольный ввод/вывод; 
• увеличено число математических методов; 
• введены новые способы управления потоками; 
• добавлены новые возможности в ядре и др. 
Простое приложение 
Изучение  любого  языка  программирования  удобно  начинать  с  про-
граммы вывода обычного сообщения: 
// пример # 1 : простое приложение: First.java  
public class First { 
     public static void main (String[] args) { 
System.out.println("Первая программа на Java!"); 

}
Здесь  класс  First  используется  для  того,  чтобы  определить  метод 
main()  который  запускается  автоматически  интерпретатором Java. 
Метод  main()  содержит  аргументы-параметры  командной  строки 
String[] args в  виде  массива  строк  и  является  открытым  (public
членом класса. Это означает, что метод main() виден и доступен любому 
классу. Ключевое слово static объявляет методы и переменные класса, 
используемые для работы с классом в целом, а не только с объектом клас-
са.  Символы  верхнего  и  нижнего  регистров  здесь  различаются,  как  и  в 
C++. Вывод строки "Первая программа на Java!" в примере осу-
ществляет метод println() (ln – переход к новой строке после вывода) 
свойства out класса System, который включается в пакет автоматически 

 
 
 
 
      JAVA  2. ПРАКТИЧЕСКОЕ РУКОВОДСТВО 
14 
вместе с пакетом lang. Приведенную программу необходимо поместить в 
файл с расширением .java, имя которого совпадает с именем класса.  
Простейший способ компиляции – вызов строчного компилятора:  
javac First.java 
При  успешной  компиляции  создается  файл  First.class.  Выпол-
нить этот виртуальный код можно с помощью интерпретатора Java:  
java First 
Чтобы  выполнить  приложение,  необходимо  загрузить  и  установить 
последнюю  версию  пакета,  например  с  сайта  java.sun.com.  При  ин-
сталляции  рекомендуется  указывать  для  размещения  корневой  каталог. 
Если JSDK установлена  в  директории  (для Windows) c:\jdk1.5.0,  то 
каталог, который компилятор Java будет рассматривать как корневой для 
иерархии пакетов, можно задавать с помощью переменной среды окруже-
ния СLASSPATH в виде: 
СLASSPATH=.;c:\jdk1.5.0\src.zip 
Переменной задано еще одно значение ‘.’ для использования текущей 
директории,  например  с:\temp,  в  качестве  рабочей  для  хранения  своих 
собственных приложений. 
Чтобы можно было вызывать сам компилятор и другие исполняемые 
программы, переменную PATH нужно проинициализировать в виде 
PATH=c:\jdk.5.0\bin 
Этот  путь  указывает  на  месторасположение  файлов  javac.exe  и 
java.exe. В различных версиях путь к JSDK может указываться различ-
ными способами. 
Следующая программа отображает в окне консоли аргументы команд-
ной  строки  метода  main(). Аргументы представляют массив строк, раз-
деленных пробелами, значения которых присваиваются объектам массива 
String[] args. Объекту args[0] присваивается значение первой стро-
ки и т.д. Количество аргументов определяется значением args.length
/* пример # 2 : вывод аргументов командной строки : 
OutArgs.java */ 
public class OutArgs { 
 
public static void main(String[] args) { 
 
 
for (int j = 0; j < args.length; j++)  
System.out.println("Aрг #" + j + "-> " + args[j]); 
 } 

Запуск этого приложения с помощью следующей командной строки:  
java OutArgs 2005 argument-2 "Java string"  
приведет к выводу на консоль следующей информации: 

 
 
 
 
Часть 1. Глава 1. Приложения и апплеты. Классы и объекты   15 
Арг #0-> 2005  
Арг #1-> argument-2
  
Арг #2-> Java string 
Аргументы  командной  строки  могут  быть  использованы  как  один  из 
способов ввода строковых данных. 
В следующем примере рассматривается ввод строки из потока ввода, 
связанного с консолью. 
// пример # 3 : ввод строки с консоли : InputStr.java  
import java.io.*;//подключение пакета классов  
public class InputStr { 
public static void main(String[] args) { 
/* байтовый поток ввода System.in передается конст-
руктору при создании объекта класса InputStreamReader 
*/ 
 
InputStreamReader is =  
 
 
new InputStreamReader (System.in); 
/* производится буферизация данных, исключающая необ-
ходимость обращения к источнику данных при выполнении 
операции чтения */ 
 
BufferedReader bis = new BufferedReader(is); 
 
 
try { 
 System.out.println( 
"Введите Ваше имя и нажмите :"); 
/*чтение  строки  из  буфера;  метод readLine() требует 
обработки возможной ошибки при вводе c консоли в бло-
ке try */ 
 
 
String name = bis.readLine(); 
  System.out.println("Привет, " + name); 
 
 
catch (IOException e) { 
  System.out.print("ошибка ввода " + e); 
 
 

 } 

Обработка  исключительной  ситуации  IOException,  которая  возни-
кает в операциях ввода/вывода, осуществляется в методе main() с помо-
щью реализации блока try-catch
В результате запуска приложение предложит пользователю ввести имя 
и нажать ввод, после этого в консоль будет выведен текст приветствия. 
В  этом  примере  использованы  конструкторы  и  методы  классов  
InputStreamReader  и  BufferedReader  из  библиотеки  java.io,  в 

 
 
 
 
      JAVA  2. ПРАКТИЧЕСКОЕ РУКОВОДСТВО 
16 
частности метод readLine() для чтения строки из буфера, связанного с 
потоком  ввода  System.in.  Подробности  действий  указанных  классов 
будут рассмотрены в главе, посвященной потокам ввода/вывода. 
Простой апплет 
Одной  из  целей  создания  языка Java было  создание  апплетов  −  не-
больших  программ,  запускаемых Web-браузером.  Поскольку  апплеты 
должны  быть  безопасными,  они  ограничены  в  своих  возможностях,  хотя 
остаются  мощным  инструментом  поддержки Web-программирования  на 
стороне клиента. 
// пример # 4 : простой апплет : FirstApplet.java 
import java.awt.*; 
public class FirstApplet extends java.applet.Applet { 
 
private String date; 
 
public void init() { 
  date 

new java.util.Date().toString(); 
 } 
 
public void paint(Graphics g) { 
  g.drawString("Апплет запущен:", 50, 15); 
  g.drawString(date, 
50, 
35); 
 } 

Для вывода текущего времени и даты в этом примере был использован 
объект Date из пакета java.util. Метод toString() используется для 
преобразования информации, содержащейся в объекте, в строку для после-
дующего  вывода  в  апплет  с  помощью  метода  drawString(). Цифровые 
параметры этого метода обозначают горизонтальную и вертикальную коор-
динаты начала рисования строки, считая от левого верхнего угла апплета. 
Апплету не нужен метод main() − код его запуска помещается в метод 
init()  или  paint().  Для  запуска  апплета  нужно  поместить  ссылку  на 
его класс в HTML-документ и просмотреть этот документ Web-браузером, 
поддерживающим Java. При этом можно обойтись очень простым фрагмен-
том (тегом)  в HTML-документе view.html
 
height=300> 

Похожие:

          Java 2    практическое руководство                          Минск  iconЦель Разработчик Java(Java ee) Краткая информация
Отличные знания и 6-летний опыт в Java. Сертификат Sun Certified Java Programmer (Март 2010, 98%, Java se 6)
          Java 2    практическое руководство                          Минск  iconОбщие представления о языке Java 6
Виртуальная Java-машина, байт-код, jit-компиляция. Категории программ, написанных на языке Java 9
          Java 2    практическое руководство                          Минск  iconРуководство  для    студентов    специальности 1 - 75 01 01 «Лес- ное хозяйство» 
Б  261      Cелекция:      практическое  руководство  по  подготовке  и  оформле
          Java 2    практическое руководство                          Минск  iconНэреш К. Маркетинговые исследования. Практическое руководство, 3-е издание.: Пер с англ
Малхотра, Нэреш К. Маркетинговые исследования. Практическое руководство, 3-е издание.: Пер с англ. — М.: Издательский дом "Вильяме",...
          Java 2    практическое руководство                          Минск  iconЛекция  Что такое Java? История создания  1
Методика преподавания опирается на четырехлетний опыт преподавания курсов по Java
          Java 2    практическое руководство                          Минск  iconКнига практическое руководство по использованию комплексных методик, 
А. А. Блудов, В. В. Черныш Заикание net. Комплексное лечение заикания. - спб: Наука и Техника, 2011. - 
          Java 2    практическое руководство                          Минск  iconГиуст бгу
Т29  рантов (15 апр. 2010 г., Минск) / редкол.: Э. И. Зборовский [и др.]. – Минск :  
          Java 2    практическое руководство                          Минск  iconБюллетень поступлений литературы в библиотеку крсу с 01. 07. 07 по 30. 09. 07
Аврамцев В. В. Аврамцев В. В. Руководство для сотрудников овд по работе с телефоном доверия: Учебно-практическое пособие/ В. В. Аврамцев,...
          Java 2    практическое руководство                          Минск  iconСказка в белоруссии минск – Мир – Несвиж – Брест Беловежская пуща – Гродно – Лида – Минск Дудутки
Минск – Мир – Несвиж – Брест Беловежская пуща – Гродно – Лида – Минск Дудутки
          Java 2    практическое руководство                          Минск  iconПрактическое руководство по применению гаагской конвенции от 15 ноября 1965 года
Конвенции. Со­ответственно, за более подробной информацией читателям следует обращаться к соответствующим страницам Руководства (см...
Разместите кнопку на своём сайте:
TopReferat


База данных защищена авторским правом ©topreferat.znate.ru 2012
обратиться к администрации
ТопРеферат
Главная страница