it_vse (519823), страница 51
Текст из файла (страница 51)
При помощи данногоAPI-интерфейса корпоративные разработчики могут строить распределенные клиент-серверные апплеты иприложения на Java, работающие в любых ОС или аппаратных платформах, имеющихся в компании.Java Commerce APIИнтерфейс Java Commerce API обеспечивает создание защищенных коммерческих и финансовыхприложений в сети Web. JavaWallet является компонентом начального уровня, он описывает и реализуетклиентскую платформу для программ, работающих с кредитными и дебетными картами и электроннымиплатежами.Java Server APIИнтерфейс Java Server API — это масштабируемая платформа, позволяющая легко разрабатыватьразнообразные Java-совместимые серверы Internet и intranet.Java Media APIМодуль Media Framework имеет часы для синхронизации и медиаплейеры для воспроизведения аудио-,видео- и MIDI-файлов. Модули 2D и 3D обеспечивают развитые средства обработки изображений.
Длясоздания движущихся и трансформирующихся 2D-объектов можно применять анимацию. Модуль JavaShare обеспечивает совместное использование приложений многими пользователями; пример такогоприложения — коллективная "белая доска". И наконец, модуль Telephony позволяет интегрировать телефони компьютер.Java Security APIJava Security API — шифрование с цифровыми подписями, кодирование и проверка прав на доступ.Java Management APIИнтерфейс Java Management API располагает большим набором масштабируемых Java-объектов и методовдля построение апплетов, могущих управлять корпоративными сетями через Internet и intranet-сети.Java Beans APIJava Beans API — это набор API-интерфейсов для создания программных компонентов.
К примеру,компонент "кнопка" может запустить создание диаграммы в другом компоненте. Модули Java Beans можноподключать к компонентам Microsoft OLE/COM/Active-X, OpenDoc и Netscape LiveConnect.Java Embedded APIЯвляется подмножеством стандартного Java API для встроенных устройств, полностью поддерживающихJava Core API. Данный интерфейс включает минимальный встраиваемый API, построенный на базе классовjava.lang, java.util и, частично, java.io. Кроме того, имеются некоторые расширения для определенных задач,например, для работы в сети и графических интерфейсов.Составитель: Ляхевич А.Г., 2000 - 2002 год8.
Основные конструкции языка Java8.1. Файлы классов, описание классаПрограммы в Java строятся на объектах. Объекты создаются на основании классов. Класс – это описаниесвойств и методов объекта: каждый класс – в отдельном файле. Классы могут дополнительно объединятся впакеты, ориентируясь по назначению классов. Синтаксис описания класса приведен ниже:Синтаксис:модификатор_доступа спецификаторы class имя_класса extends имя_класса_родителя implementsимя_интерфейса{тело класса: его свойства и методы}Примеры:1) public final class MyPlan extends Plan implements Administration{/* свойства класса, методы класса */}2) class Prosto { // свойства и методы класса}Здесь скобки "{" и "}", называемые "начало блока" и "конец блока", означают начало и конец класса.
Блоки{ } используются в программах на Java для обозначения начала и конца любой конструкции или участкакода (например, конструкции IF..ELSE, цикла FOR и т.д.). Каждый оператор программы на Java внутрискобок { }, т.е. внутри описания класса или метода должна заканчиваться на точку с запятой ";".Конструкция /* */ означает начало и конец комментариев. Комментарии могут добавляться и при помощисимволов // , которые означают, что, начиная с этого места и до конца строки, идет комментарий.Необходимо также помнить, что в Java различаются маленькие и большие буквы, так что MyPlan – это не тоже самое, что и myPlan.Значение модификаторов доступа класса приведено ниже:ЗначениеОписаниене указано Класс доступен только для объектов, находящихся в том же пакете.publicКласс доступен для всех объектов.
Класс public должен обязательно содержаться в файле,имеющем такое же название, что и имя класса.Спецификаторы класса могут быть следующими:ЗначениеОписаниеfinalЗапрещено создание подклассов, на основании этого класса. Используется по соображениямбезопасности, чтобы, например, нельзя было подменить менеджер безопасности, создав на егооснове собственный объект и переопределив методы объекта.abstractАбстрактный класс (хотя бы один метод объявлен, но не описан).* Спецификаторы final и abstract несовместимы, т.е. класс не может быть одновременно final и abstract.Описание класса – это просто описание свойств и методов объекта. Для того, чтобы объектом можно былопользоваться, необходимо создать экземпляр класса, т.е. создать объект, на основании имеющегося описания. Об этом будет сказано ниже, а сейчас рассмотрим, как описываются свойства и методы класса.8.2.
Типы данных, свойства класса, модификаторы доступа свойств и методов, массивы.В Java используются следующие типы данных:ТипОписаниеbooleanbyteshortcharintlongfloatdoubleИмеет значения true или false (ИСТИНА или ЛОЖЬ).8-бит целое число со знаком в диапазоне от -128 до 12716-бит целое число со знаком в диапазоне от –32 768 до 32 76716-бит Unicode-символы или цифровые значения от 0 до 65535.32-бит целое число со знаком в диапазоне от –2 147 483 648 до 2 147 483 64764-бит целое число в диапазоне от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807,причем такая точность сохраняется на любом компьютере, независимо от платформы.32-бит число с плавающей точкой обычной точности (≈±1039)64-бит число с плавающей точкой двойной точности (≈±10317 )StringСтроковая константа.
После объявления строки ее содержимое нельзя изменять.StringBufferСтроковый буфер. Позволяет изменять содержимое строки.* Внимание! Регистр символов ВАЖЕН. Неверно: "Int", "string". Верно: "int", "String". Ляхевич А.Г., 2000 - 2002 годОписание свойства (переменной) происходит следующим образом:Синтаксис:модификатор_доступа спецификаторы тип_данных имя_свойства = первоначальное_значение ;Примеры:1) public int primer = 100;// Создается public свойство с именем primer, типа int, и значением 100.2) private static byte primer2, primer3, primer4; // Описаны три свойства, типа byte.Модификаторы доступа свойства совпадают с модификаторами доступа методов и означаютследующее (версия языка Java2):В рамках одного пакетаИз других пакетовМодификатордоступанаследованиедоступнаследованиедоступне указандаданетнетpublicдадададаprotectedдададанетprivateнетнетнетнетЗдесь "наследование" означает возможность порождать от этого класса другие классы, наследуя егосвойства и методы (в порожденных классах их не надо заново описывать), а "доступ" означает возможностьсоздавать экземпляр класса, на основании этого класса.Одновременно с модификаторами доступа, возможно использование спецификаторов свойств:ЗначениеОписаниеfinalЗадает константу (значение переменной не меняется в процессе выполнения программы).Первоначальные значения всех свойств final необходимо определить при их объявлении:final int Primer = 5;staticМодификатор static делает свойство (переменную) класса статическим.
Статическое свойство –это свойство, принадлежащее не экземплярам класса, а самому классу. При создании экземпляров класса, каждый экземпляр получает свою "независимую копию" всех не статических свойстви методов. В разных экземплярах класса, не статические свойства и методы могут иметь разныезначения. Статические свойства и методы принадлежат не экземплярам класса, а самому классу,поэтому, при создании экземпляров класса, экземпляры не получают "копии" статическихсвойств и методов, а, следовательно, значения статических свойств будут одинаковы для всехэкземпляров класса.
Доступ к статическим свойствам происходит либо через имя экземпляровкласса (изменение статического свойства в любом экземпляре класса приведет к его синхронному изменению для остальных экземпляров класса), либо через имя самого класса (можнополучить доступ к статическим свойствам, не создавая ни одного экземпляра класса). Пояснимсказанное на примере. Пусть существует класс "Лифт", в котором описаны два свойства:"напряжение" и "этаж", причем свойство "напряжение" имеет модификатор static.
Пусть наосновании класса "Лифт", создано два экземпляра класса (два объекта): "Левый_лифт" и"Правый_лифт". Теперь, если перерубить силовой кабель, то оба лифта будут одновременнообесточены, но остановятся на разных этажах: Лифт.напряжение = 0, Левый_лифт.напряжение= 0, Правый_лифт.напряжение = 0 – общее статическое свойство для всех лифтов, однакосвойства Левый_лифт.этаж и Правый_лифт.этаж будут различаться.* Переменная может быть одновременно static и final.Свойство может быть описано, как на уровне класса (глобальная переменная), так и на уровне метода.Свойство уровня класса описывается вне тела методов и существует, пока существует экземпляр класса. Всеметоды класса могут обращаться к такому свойству.
Свойство уровня метода описывается внутри самогометода и существует только пока выполняется метод. Обращаться к нему из других методов нельзя. Нижеприведен пример, в котором свойство bigBrother описано на уровне класса, а свойство smallBrother описанона уровне метода, с именем Metod. Пример:Class Primer {long bigBrother;// Свойство описано на уровне классаvoid Metod ( ) {short smallBrother;/* Свойство описано на уровне метода */ } }Массивы:Индексация в массиве начинается с 0. Индекс имеет тип "int".