Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_MIR.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
83.46 Кб
Скачать

Новый пакет Java 1.1. Новые технологии по использованию классов.

В Java 1.1 существенно дополняются и расширяются набор пакетов и библиотек.

Java-… пакет предназначен для создания и использования встраивания программных компонент многокуратного использования.

Java.rmi - классы и интерфейсы для организации удаленного вызова методов.

Java.security - классы и интерфейсы, являющиеся фундаментальными абстракции элементов криптографии (открытые/закрытые ключи, сертификаты, подтверждение подписи, элементы шифрования и дешифрования сообщений, а также цифровые подписи.

Java.sql - JDBC (драйвер и интерфейс), а так же классы и интерфейсы, позволяющие java-программам формировать запросы и отправлять их в sql

Java.text - для организации многоязыковой поддержки Java, т.е классы для представления шрифтов и криптограмм алфавита, классы представления дат, времени, чисел и текстовых сообщений в том формате в часовом поясе которого запускается java программа. В связи с этим в java 1.1 добавляется возможность нестандартного использования классов и интерфейсов. При этом самым большим усовершенстваванием языка Java являются встроенные классы и интерфейса, которые можно определять в качестве членов других классов, подобно методам и переменным. При этом встроенные классы деляться на 4 группы:

1. встроенные класс и интерфейсы верхнего уровня

2. классы-члены

3. локальные классы

4. анонимные классы

Встроенные класс и интерфейсы верхнего уровня - данные классы являются совершенно такими же как и обычные классы, за исключением того, что для удобства использования они встроены в другой класс или интерфейс. Все подобные классы и интерфейсы должны объявляться с модификатором Static. Если учесть, что все интерфейсы по умолчанию Static, то в их определении писать модификатор не обязательно:

public class LinkedList {

public interface Linkable {

public Linkable getNext()

public void getNext (linkable

далее описывается класс, который реализует данный интерфейс. Имя встроенного интерфейса записывают следующим образом: сначала пишут имя

Если откомпилировать класс LinkedList при условии, что данный класс содержит только свое описание, то будет создано 2 файла байт-кода:

1. LinkedList.class - для основного класса

2. LinkedList$Linkable.class - байт-код для встроенного интерфейса.

Классы-члены

Особенности:

1. каждый экземпляр класса-члена внутренне связан с экземпляром класса, где класс-член определен или содержится

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

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

Возвращаемся к примеру

Предположим, что в классе LinkedList необходимо реализовать циклическое обращения к элементам связанного списка с помощью интерфейса Enumeration

Данную возможность можно реализовать ,используя реестр встроенного класса. Элементы, которые не реализуются в данном примере остаются такими же как в предыдущем

import

public

public

Следующий метод возвращает объект Enumeration для данного объекта LinkedList при этом никакой из объектов LinkedList не передается методу в явном виде.

пример

Enumeration - класс-член, описывающий интерфейс LinkedList

Конструктор класса Enumeration неявно ссылается на переменную head

При компиляции класс-член Enumeration будет откомпилирован в файл байт-кода LinkedList$ Enumeration.class

Классы члены могут использовать переменные, методы и даже классы своего включающего класса, объявленного как private. Включающий класс может использовать закрытые переменные и методы тех классов, которые в него встроены (с версии Java 2.0)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]